Give Phame blogs mutable interact policies
commitc25595417f8a135621d7a166be067da6ed70832c
authorepriestley <git@epriestley.com>
Fri, 1 Apr 2022 19:01:48 +0000 (1 12:01 -0700)
committerepriestley <git@epriestley.com>
Fri, 1 Apr 2022 19:52:56 +0000 (1 12:52 -0700)
treeba01fc85d8305dbd62fa43d132251b0aade02cf0
parent5ce7f803f90e20c1964c93320c91dcab7cfd7415
Give Phame blogs mutable interact policies

Summary:
Ref T13661.

I'm fairly sure these policies don't actually do anything (you can't "interact" with a blog) but the primarily support a Phame Post object policy of "Same as Parent Blog", which is the "natural" interact policy for a post.

Most of this is infrastructure support for mutable interact policies: today, only Maniphest has interact mutability and only via indirect effects (locking tasks), not through a directly mutable "Can Interact" policy.

Test Plan:
Ran storage upgrade, edited interact policy of a blog, saw appropriate persistence and transactions.

Created and edited a task to make sure there's no weird fallout from increasing what can be done with interact policies.

Subscribers: PHID-OPKG-gm6ozazyms6q6i22gyam

Maniphest Tasks: T13661

Differential Revision: https://secure.phabricator.com/D21751
resources/sql/autopatches/20220401.phameinteract.03.sql [new file with mode: 0644]
src/applications/phame/editor/PhameBlogEditor.php
src/applications/phame/storage/PhameBlog.php
src/applications/policy/editor/PhabricatorPolicyEditEngineExtension.php
src/applications/transactions/constants/PhabricatorTransactions.php
src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php
src/applications/transactions/storage/PhabricatorApplicationTransaction.php