1. 18 May, 2020 1 commit
  2. 19 Jan, 2019 1 commit
    • epriestley's avatar
      Move "Welcome" mail generation out of PhabricatorUser · 5537e29e
      epriestley authored
      Summary:
      Ref PHI1027. Currently, `PhabricatorUser` has a couple of mail-related methods which shouldn't really be there in the long term. Immediately, I want to make some adjusments to the welcome email.
      
      Move "Welcome" mail generation to a separate class and consolidate all the error handling. (Eventually, "invite" and "verify address" email should move to similar subclasses, too.) Previously, a bunch of errors/conditions got checked in multiple places.
      
      The only functional change is that we no longer allow you to send welcome mail to disabled users.
      
      Test Plan:
        - Used "Send Welcome Mail" from profile pages to send mail.
        - Hit "not admin", "disabled user", "bot/mailing list" errors.
        - Used `scripts/user/add_user.php` to send welcome mail.
        - Used "Create New User" to send welcome mail.
        - Verified mail with `bin/mail show-outbound`. (Cleaned up a couple of minor display issues here.)
      
      Reviewers: amckinley
      
      Reviewed By: amckinley
      
      Differential Revision: https://secure.phabricator.com/D19989
      5537e29e
  3. 14 May, 2018 1 commit
    • epriestley's avatar
      Consistently require MFA on the actual user creation flow · 28ee6b80
      epriestley authored
      Summary:
      See <https://hackerone.com/reports/351361>. We currently require MFA on the screen leading into the user create flow, but not the actual create flow.
      
      That is, `/people/create/` (which is just a "choose a type of account" page) requires MFA, but `/people/new/<type>/` does not, even though this is the actual creation page.
      
      Requiring MFA to create users isn't especially critical: creating users isn't really a dangerous action. The major threat is probably just that an attacker can extend their access to an install by creating an account which they have credentials for.
      
      It also isn't consistently enforced: you can invite users or approve users without an MFA check.
      
      So there's an argument for just removing the check. However, I think the check is probably reasonable and that we'd likely prefer to add some more checks eventually (e.g., require MFA to approve or invite) since these actions are rare and could represent useful tools for an attacker even if they are not especially dangerous on their own. This is also the only way to create bot or mailing list accounts, so this check does //something// on its own, at least.
      
      Test Plan:
        - Visited `/people/new/standard/` as an admin with MFA configured.
        - Before patch: no MFA prompt.
        - After patch: MFA prompt.
      
      Reviewers: amckinley
      
      Reviewed By: amckinley
      
      Differential Revision: https://secure.phabricator.com/D19448
      28ee6b80
  4. 07 Sep, 2017 1 commit
  5. 04 Apr, 2016 1 commit
    • Chad Little's avatar
      Modernize People UI · f90cd8a1
      Chad Little authored
      Summary: Updates various /people/ pages for new UI and newPage
      
      Test Plan: Review creating people, new people, sending invites, editing a profile, setting a new picture, something with LDAP
      
      Reviewers: epriestley
      
      Reviewed By: epriestley
      
      Subscribers: Korvin
      
      Differential Revision: https://secure.phabricator.com/D15604
      f90cd8a1
  6. 04 Jun, 2015 1 commit
    • epriestley's avatar
      Add "Mailing List" users · 992c1995
      epriestley authored
      Summary:
      Ref T8387. Adds new mailing list users.
      
      This doesn't migrate anything yet. I also need to update the "Email Addresses" panel to let administrators change the list address.
      
      Test Plan:
        - Created and edited a mailing list user.
        - Viewed profile.
        - Viewed People list.
        - Searched for lists / nonlists.
        - Grepped for all uses of `getIsDisabled()` / `getIsSystemAgent()` and added relevant corresponding behaviors.
        - Hit the web/api/ssh session blocks.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: eadler, tycho.tatitscheff, epriestley
      
      Maniphest Tasks: T8387
      
      Differential Revision: https://secure.phabricator.com/D13123
      992c1995
  7. 22 May, 2015 1 commit
  8. 06 Feb, 2015 1 commit
    • Bob Trahan's avatar
      People - refine permissions on creating new users · 345966cb
      Bob Trahan authored
      Summary: Fixes T7142. Make old permission mean "make (non-bot) users" and then nuance the UI for those administrators who can make bot accounts.
      
      Test Plan: loaded up admin a with full powers and admin b with restricted powers. noted admin a could make a full user. noted admin b could not make a full user. noted admin b got an error even via clever uri hacking.
      
      Reviewers: epriestley
      
      Reviewed By: epriestley
      
      Subscribers: Korvin, epriestley
      
      Maniphest Tasks: T7142
      
      Differential Revision: https://secure.phabricator.com/D11702
      345966cb
  9. 12 Jan, 2015 1 commit
  10. 05 Aug, 2014 1 commit
  11. 23 Jun, 2014 1 commit
  12. 09 Jun, 2014 1 commit
    • Joshua Spence's avatar
      Change double quotes to single quotes. · 0a62f134
      Joshua Spence authored
      Summary: Ran `arc lint --apply-patches --everything` over rP, mainly to change double quotes to single quotes where appropriate. These changes also validate that the `ArcanistXHPASTLinter::LINT_DOUBLE_QUOTE` rule is working as expected.
      
      Test Plan: Eyeballed it.
      
      Reviewers: #blessed_reviewers, epriestley
      
      Reviewed By: #blessed_reviewers, epriestley
      
      Subscribers: epriestley, Korvin, hach-que
      
      Differential Revision: https://secure.phabricator.com/D9431
      0a62f134
  13. 12 May, 2014 1 commit
    • lkassianik's avatar
      Add config to require real name, respect config when creating new users, drop... · dfcccd4c
      lkassianik authored
      Add config to require real name, respect config when creating new users, drop real name from full name if not provided.
      
      Summary: Fixes T4728, first pass, Make real name optional on user accounts
      
      Test Plan: Default real name config should be false (not required). Create new user, real name should not be required. Toggle config, real name should be required. Users with no real name should be always listed by their usernames.
      
      Reviewers: #blessed_reviewers, epriestley
      
      Reviewed By: #blessed_reviewers, epriestley
      
      Subscribers: epriestley, Korvin
      
      Maniphest Tasks: T4728
      
      Differential Revision: https://secure.phabricator.com/D9027
      dfcccd4c
  14. 02 Apr, 2014 7 commits
    • epriestley's avatar
      Make user creation process simpler · 3294649a
      epriestley authored
      Summary:
      Fixes T4065. This divides user creation into separate "Standard User" and "Script/Bot" workflows which show only relevant fields and provide guidance.
      
      This fixes the verification mess associated with script/bot users by verifying their email addresses automatically.
      
      Test Plan:
        - Created a standard user.
        - Created a script/bot.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4065
      
      Differential Revision: https://secure.phabricator.com/D8674
      3294649a
    • epriestley's avatar
      Move "Send Welcome Email" to profiles and nuke old weird edit UI · 1df9a6e6
      epriestley authored
      Summary: Ref T4065. Moves the last of the weird alternate edit UI to profiles. The old "Edit" controller is now for creation only, and the funky pencil icon is gone.
      
      Test Plan: Created accounts; sent welcome email.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4065
      
      Differential Revision: https://secure.phabricator.com/D8670
      1df9a6e6
    • epriestley's avatar
      Give administrators selective access to System Agent settings panels · 04b9f946
      epriestley authored
      Summary: Ref T4065. Give administrators an "Edit Settings" link from profiles, which allows selective edit of settings panels. Enable Conduit, SSH Keys, and VCS Password.
      
      Test Plan:
        - Used these panels for a bot.
        - Used these panels on my own account.
        - Tried to use these panels for a non-bot account, was denied.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4065
      
      Differential Revision: https://secure.phabricator.com/D8668
      04b9f946
    • epriestley's avatar
      Put Disable/Admin flags on profiles · c9268c48
      epriestley authored
      Summary: Ref T4065. Moves the "disable / enable" and "make / unmake administrator" actions to profiles.
      
      Test Plan: Disabled and enabled users, and made and unmade administrators.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4065
      
      Differential Revision: https://secure.phabricator.com/D8666
      c9268c48
    • epriestley's avatar
      Allow administrators to edit System Agent information from the agent's profile · b6b2e655
      epriestley authored
      Summary:
      Ref T4065. Currently, we have this super copy/pasted "edit profile picture" UI for system agents.
      
      Instead, give administrators direct access from profiles, so they can use the same code pages do.
      
      Test Plan: Edited my profile picture and profile details. Edited an agent's. Was unable to edit a non-agent user.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4065
      
      Differential Revision: https://secure.phabricator.com/D8664
      b6b2e655
    • epriestley's avatar
      Move "Change Username" from weird edit panel to standard object action · b53134bf
      epriestley authored
      Summary: Ref T4065. Make this work in a more standard way which administrators have a reasonable shot at finding and using. See D8662 for discussion.
      
      Test Plan: Changed a user's username.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4065
      
      Differential Revision: https://secure.phabricator.com/D8663
      b53134bf
    • epriestley's avatar
      Move "Delete User" action to user profiles · a6a19ac7
      epriestley authored
      Summary:
      Ref T4065. The existence of two separate edit workflows for users is broadly confusing to administrators.
      
      I want to unify user administration and improve administration of system agent accounts. Particularly, I plan to:
      
        - Give administrators limited access to profile editing of system agents (e.g., change profile picture).
        - Give administrators limited access to Settings for system agents.
        - Broadly, move all the weird old special editing into standard editing.
      
      Test Plan:
        - Hit all the errors (delete self, no username, wrong username).
        - Deleted a user.
        - Visited page as a non-admin, got 403'd.
        - Viewed old edit UI.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      Subscribers: epriestley
      
      Maniphest Tasks: T4065
      
      Differential Revision: https://secure.phabricator.com/D8662
      a6a19ac7
  15. 14 Jan, 2014 1 commit
    • epriestley's avatar
      Allow PhabricatorUserLog to store non-user PHIDs · 220d680f
      epriestley authored
      Summary:
      Ref T4310. This is a small step toward separating out the session code so we can establish sessions for `ExternalAccount` and not just `User`.
      
      Also fix an issue with strict MySQL and un-admin / un-disable from web UI.
      
      Test Plan: Logged in, logged out, admined/de-admin'd user, added email address, checked user log for all those events.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      CC: aran
      
      Maniphest Tasks: T4310
      
      Differential Revision: https://secure.phabricator.com/D7953
      220d680f
  16. 10 Jan, 2014 1 commit
  17. 19 Dec, 2013 1 commit
    • epriestley's avatar
      Provide convenience method addTextCrumb() to PhabricatorCrumbsView · a5dc9067
      epriestley authored
      Summary: We currently have a lot of calls to `addCrumb(id(new PhabricatorCrumbView())->...)` which can be expressed much more simply with a convenience method. Nearly all crumbs are only textual.
      
      Test Plan:
        - This was mostly automated, then I cleaned up a few unusual sites manually.
        - Bunch of grep / randomly clicking around.
      
      Reviewers: btrahan, chad
      
      Reviewed By: btrahan
      
      CC: hach-que, aran
      
      Differential Revision: https://secure.phabricator.com/D7787
      a5dc9067
  18. 13 Nov, 2013 1 commit
    • epriestley's avatar
      Implement an approval queue · c0e1a63a
      epriestley authored
      Summary:
        - Add an option for the queue.
        - By default, enable it.
        - Dump new users into the queue.
        - Send admins an email to approve them.
      
      Test Plan:
        - Registered new accounts with queue on and off.
        - As an admin, approved accounts and disabled the queue from email.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      CC: aran
      
      Differential Revision: https://secure.phabricator.com/D7576
      c0e1a63a
  19. 12 Nov, 2013 1 commit
    • epriestley's avatar
      Improve handling of email verification and "activated" accounts · 7f11e8d7
      epriestley authored
      Summary:
      Small step forward which improves existing stuff or lays groudwork for future stuff:
      
        - Currently, to check for email verification, we have to single-query the email address on every page. Instead, denoramlize it into the user object.
          - Migrate all the existing users.
          - When the user verifies an email, mark them as `isEmailVerified` if the email is their primary email.
          - Just make the checks look at the `isEmailVerified` field.
        - Add a new check, `isUserActivated()`, to cover email-verified plus disabled. Currently, a non-verified-but-not-disabled user could theoretically use Conduit over SSH, if anyone deployed it. Tighten that up.
        - Add an `isApproved` flag, which is always true for now. In a future diff, I want to add a default-on admin approval queue for new accounts, to prevent configuration mistakes. The way it will work is:
          - When the queue is enabled, registering users are created with `isApproved = false`.
          - Admins are sent an email, "[Phabricator] New User Approval (alincoln)", telling them that a new user is waiting for approval.
          - They go to the web UI and approve the user.
          - Manually-created accounts are auto-approved.
          - The email will have instructions for disabling the queue.
      
      I think this queue will be helpful for new installs and give them peace of mind, and when you go to disable it we have a better opportunity to warn you about exactly what that means.
      
      Generally, I want to improve the default safety of registration, since if you just blindly coast through the path of least resistance right now your install ends up pretty open, and realistically few installs are on VPNs.
      
      Test Plan:
        - Ran migration, verified `isEmailVerified` populated correctly.
        - Created a new user, checked DB for verified (not verified).
        - Verified, checked DB (now verified).
        - Used Conduit, People, Diffusion.
      
      Reviewers: btrahan
      
      Reviewed By: btrahan
      
      CC: chad, aran
      
      Differential Revision: https://secure.phabricator.com/D7572
      7f11e8d7
  20. 11 Nov, 2013 1 commit
  21. 25 Sep, 2013 1 commit
    • Chad Little's avatar
      Move PHUIFormBoxView to PHUIObjectBoxView · 9be7a948
      Chad Little authored
      Summary: I'd like to reuse this for other content areas, renaming for now. This might be weird to keep setForm, but I can fix that later if we need.
      
      Test Plan: reload a few forms in maniphest, projects, differential
      
      Reviewers: epriestley, btrahan
      
      Reviewed By: epriestley
      
      CC: Korvin, aran
      
      Differential Revision: https://secure.phabricator.com/D7120
      9be7a948
  22. 26 Aug, 2013 1 commit
    • Chad Little's avatar
      Update Form Layouts · fe2a96e3
      Chad Little authored
      Summary:
      This attempts some consistency in form layouts. Notably, they all now contain headers and are 16px off the sides and tops of pages. Also updated dialogs to the same look and feel. I think I got 98% of forms with this pass, but it's likely I missed some buried somewhere.
      
      TODO: will take another pass as consolidating these colors and new gradients in another diff.
      
      Test Plan: Played in my sandbox all week. Please play with it too and let me know how they feel.
      
      Reviewers: epriestley, btrahan
      
      Reviewed By: epriestley
      
      CC: Korvin, aran
      
      Differential Revision: https://secure.phabricator.com/D6806
      fe2a96e3
  23. 20 Aug, 2013 1 commit
  24. 08 May, 2013 1 commit
  25. 26 Mar, 2013 1 commit
  26. 24 Mar, 2013 1 commit
    • Anh Nhan Nguyen's avatar
      Consolidate User Profile loading · b0e9371a
      Anh Nhan Nguyen authored
      Summary:
      Introduce `PhabricatorUserQuery::attachProfilesForUsers()` for batch attachment of user profiles (for a future diff)
      Introduce `PhabricatorUser::loadUserProfile()` to load attached user profiles (or load them on their own, if no one is attached).
      
      USed them in code
      
      Test Plan:
      verified that use sites did not break
      
      - Uploaded user profile image for bots
      - changed my own profile image and blurb
      - looked a lot at my own profile
      
      Reviewers: epriestley, btrahan, chad
      
      Reviewed By: epriestley
      
      CC: aran, Korvin
      
      Differential Revision: https://secure.phabricator.com/D5395
      b0e9371a
  27. 19 Mar, 2013 1 commit
  28. 16 Mar, 2013 1 commit
  29. 08 Mar, 2013 1 commit
  30. 21 Feb, 2013 1 commit
    • Chad Little's avatar
      Modernize People · 3d650082
      Chad Little authored
      Summary: Adds Crumbs, pht's, and checkout out mobile.
      
      Test Plan: Added, removed people. Changed roles, checked iOS and Chrome.
      
      Reviewers: epriestley
      
      Reviewed By: epriestley
      
      CC: aran, Korvin
      
      Differential Revision: https://secure.phabricator.com/D5052
      3d650082
  31. 08 Feb, 2013 2 commits
  32. 25 Jan, 2013 1 commit
  33. 13 Jan, 2013 1 commit
    • Chad Little's avatar
      Remove spacer from sidebars. · 38626dce
      Chad Little authored
      Summary: This removes all calls to addSpacer and the method. We were applying it inconsistently and it was causing spacing issues with redesigning the sidenav. My feeling is we can recreate the space in CSS if the design dictates, which would apply it consistently.
      
      Test Plan: Go to Applications, click on every application.
      
      Reviewers: epriestley, btrahan
      
      Reviewed By: epriestley
      
      CC: aran, Korvin
      
      Differential Revision: https://secure.phabricator.com/D4420
      38626dce