Page MenuHomePhabricator

Continue modernizing application access to user preferences
ClosedPublic

Authored by epriestley on Jun 3 2016, 12:56 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Dec 16, 1:51 PM
Unknown Object (File)
Mon, Dec 9, 4:17 AM
Unknown Object (File)
Mon, Dec 9, 4:16 AM
Unknown Object (File)
Mon, Dec 9, 3:33 AM
Unknown Object (File)
Fri, Dec 6, 7:46 PM
Unknown Object (File)
Thu, Dec 5, 10:45 AM
Unknown Object (File)
Wed, Dec 4, 10:16 AM
Unknown Object (File)
Tue, Nov 26, 10:16 PM
Subscribers
None

Details

Summary

Ref T4103. This is just incremental cleanup:

  • Add "internal" settings, which aren't editable via the UI. They can still do validation and run through the normal pathway. Move a couple settings to use this.
  • Remove getPreference() on PhabricatorUser, which was a sort of prototype version of getUserSetting().
  • Make getUserSetting() validate setting values before returning them, to improve robustness if we change allowable values later.
  • Add a user setting cache, since reading user settings was getting fairly expensive on Calendar.
  • Improve performance of setting validation for timezone setting (don't require building/computing all timezone offsets).
  • Since we have the cache anyway, make the timezone override a little more general in its approach.
  • Move editor stuff to use getUserSetting().
Test Plan
  • Changed search scopes.
  • Reconciled local and server timezone settings by ignoring and changing timezones.
  • Changed date/time settings, browsed Calendar, queried date ranges.
  • Verified editor links generate properly in Diffusion.
  • Browsed around with time/date settings looking at timestamps.
  • Grepped for getPreference(), nuked all the ones coming off $user or $viewer that I could find.
  • Changed accessiblity to high-contrast colors.
  • Ran all unit tests.
  • Grepped for removed constants.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Continue modernizing application access to user preferences.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
src/applications/people/storage/PhabricatorUser.php
861–863

This change is pretty much what this comment was anticipating.

src/view/form/control/AphrontFormDateControl.php
116

This fixes a bug with initial values in date controls with 24-hour time.

chad edited edge metadata.
This revision is now accepted and ready to land.Jun 3 2016, 1:37 AM
codeforuk edited edge metadata.
This revision was automatically updated to reflect the committed changes.