Page MenuHomePhabricator

Make Maniphest project edits more transaction-oriented
ClosedPublic

Authored by epriestley on Jul 5 2014, 8:09 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Dec 21, 1:33 AM
Unknown Object (File)
Fri, Dec 20, 9:40 PM
Unknown Object (File)
Thu, Dec 12, 11:55 AM
Unknown Object (File)
Fri, Dec 6, 2:40 PM
Unknown Object (File)
Wed, Dec 4, 6:02 PM
Unknown Object (File)
Tue, Dec 3, 12:23 PM
Unknown Object (File)
Tue, Dec 3, 12:22 PM
Unknown Object (File)
Tue, Dec 3, 12:22 PM
Subscribers

Details

Summary

Ref T5245. Currently, task/project links rely on side effects in save(). Make them more transaction-oriented, with the goal of moving fully to edges a few diffs down the line.

Test Plan
  • Added and removed projects using "Edit Task", "Associate Projects" comment action, and Herald.
  • Verified database ended up in the expected state.

Diff Detail

Repository
rP Phabricator
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

epriestley retitled this revision from to Make Maniphest project edits more transaction-oriented.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added reviewers: joshuaspence, chad, btrahan.
joshuaspence edited edge metadata.

I'm not very familiar with this code, but from what I can tell this diff is definitely an improvement.

This revision is now accepted and ready to land.Jul 5 2014, 10:25 PM

(This sequence of diffs ended up going deep into the dark corners of the edge stuff, so feel free to bail out if things get too murky -- none of this is urgent, and we can wait for @btrahan to get back from paternity leave.)

Yeah I noticed. The edge stuff isnt so bad and I think I have a reasonable understanding. I'm not confident with the old code (pre-edges) I'll take a closer look tomorrow.

At the same time, based on the calendar it appears that @btrahan is due back shortly... so if you don't trust my reviewing capabilities (no offence taken), feel free to wait a little longer. I'm taking a look through the diffs now.

This may be addressed in another diff, but is the intention to eventually remove/deprecate the ManiphestTaskProject class? It seems that this class does what will be done with edges.

Just looking over this again as a sanity check... still looks good to me. One minor inline.

src/applications/maniphest/editor/ManiphestTransactionEditor.php
419–421

It might be cleaner to just move this into the above if statement now.

Yeah, the class is removed in D9852 and there will be a diff at the end of this to drop the table.

epriestley edited edge metadata.
  • Clean up the $save_again logic.

Just curious, is this stuff going to land anytime soon?

epriestley updated this revision to Diff 23924.

Closed by commit rP7deec8208ff9 (authored by @epriestley).