Page MenuHomePhabricator

Modularize Almanac Binding transactions
ClosedPublic

Authored by epriestley on Apr 10 2018, 12:15 PM.
Tags
None
Referenced Files
F15447416: D19321.id46262.diff
Thu, Mar 27, 11:45 PM
F15441851: D19321.diff
Wed, Mar 26, 8:23 PM
F15421710: D19321.id46227.diff
Sat, Mar 22, 1:47 AM
F15420211: D19321.id46262.diff
Fri, Mar 21, 12:11 PM
F15404243: D19321.id.diff
Tue, Mar 18, 6:55 AM
F15400389: D19321.diff
Mon, Mar 17, 11:22 AM
Unknown Object (File)
Feb 26 2025, 5:58 AM
Unknown Object (File)
Feb 9 2025, 5:51 AM
Subscribers
None

Details

Summary

Depends on D19320. Ref T13120. Ref T12414. Move transactions for Almanac Bindings to ModularTransactions.

Test Plan
  • Created a new binding.
  • Tried to create a duplicate binding, got an error.
  • Edited a binding to rebind it to a different device.
  • Disabled and enabled bindings.
  • Grepped for AlmanacBindingTransaction:: constants.

When a binding is created, it currently renders a bad "changed the interface from ??? to X" transaction. This is because creation isn't currently using EditEngine. I plan to swap it shortly, which will turn this into a real "Create" transaction and fix the issue.

Diff Detail

Repository
rP Phabricator
Branch
almanac6
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 20051
Build 27194: Run Core Tests
Build 27193: arc lint + arc unit

Event Timeline

Note that, for now, Bindings have the same issue as Services in D19317: editing properties works correctly, but doesn't render the right transaction stories in the timeline. Since this is just a display issue, I plan to deal with it after converting everything.

amckinley added inline comments.
src/applications/almanac/xaction/AlmanacBindingInterfaceTransaction.php
61–62

renderOldValue()/renderNewValue()?

This revision is now accepted and ready to land.Apr 10 2018, 3:51 PM
src/applications/almanac/xaction/AlmanacBindingInterfaceTransaction.php
61–62

This one's right -- since the old and new values are PHIDs, this renders nice named links for them.

This revision was automatically updated to reflect the committed changes.