@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1<?php
2
3final class PhabricatorProjectParentTransaction
4 extends PhabricatorProjectTypeTransaction {
5
6 const TRANSACTIONTYPE = 'project:parent';
7
8 public function generateOldValue($object) {
9 return null;
10 }
11
12 public function applyInternalEffects($object, $value) {
13 $parent_phid = $value;
14 $project = id(new PhabricatorProjectQuery())
15 ->setViewer($this->getActor())
16 ->withPHIDs(array($parent_phid))
17 ->requireCapabilities(
18 array(
19 PhabricatorPolicyCapability::CAN_VIEW,
20 PhabricatorPolicyCapability::CAN_EDIT,
21 ))
22 ->executeOne();
23
24 $object->attachParentProject($project);
25
26 $object->setParentProjectPHID($value);
27 }
28
29}