diff --git a/src/applications/policy/editor/PhabricatorPolicyEditEngineExtension.php b/src/applications/policy/editor/PhabricatorPolicyEditEngineExtension.php --- a/src/applications/policy/editor/PhabricatorPolicyEditEngineExtension.php +++ b/src/applications/policy/editor/PhabricatorPolicyEditEngineExtension.php @@ -45,6 +45,7 @@ 'capability' => PhabricatorPolicyCapability::CAN_VIEW, 'label' => pht('View Policy'), 'description' => pht('Controls who can view the object.'), + 'description.conduit' => pht('Change the view policy of the object.'), 'edit' => 'view', ), PhabricatorTransactions::TYPE_EDIT_POLICY => array( @@ -53,6 +54,7 @@ 'capability' => PhabricatorPolicyCapability::CAN_EDIT, 'label' => pht('Edit Policy'), 'description' => pht('Controls who can edit the object.'), + 'description.conduit' => pht('Change the edit policy of the object.'), 'edit' => 'edit', ), PhabricatorTransactions::TYPE_JOIN_POLICY => array( @@ -61,6 +63,7 @@ 'capability' => PhabricatorPolicyCapability::CAN_JOIN, 'label' => pht('Join Policy'), 'description' => pht('Controls who can join the object.'), + 'description.conduit' => pht('Change the join policy of the object.'), 'edit' => 'join', ), ); @@ -76,6 +79,7 @@ $aliases = $spec['aliases']; $label = $spec['label']; $description = $spec['description']; + $conduit_description = $spec['description.conduit']; $edit = $spec['edit']; $policy_field = id(new PhabricatorPolicyEditField()) @@ -87,7 +91,8 @@ ->setPolicies($policies) ->setTransactionType($type) ->setEditTypeKey($edit) - ->setConduitDescription($description) + ->setDescription($description) + ->setConduitDescription($conduit_description) ->setConduitTypeDescription(pht('New policy PHID or constant.')) ->setValue($object->getPolicy($capability)); $fields[] = $policy_field; diff --git a/src/applications/subscriptions/engineextension/PhabricatorSubscriptionsEditEngineExtension.php b/src/applications/subscriptions/engineextension/PhabricatorSubscriptionsEditEngineExtension.php --- a/src/applications/subscriptions/engineextension/PhabricatorSubscriptionsEditEngineExtension.php +++ b/src/applications/subscriptions/engineextension/PhabricatorSubscriptionsEditEngineExtension.php @@ -45,6 +45,7 @@ ->setIsCopyable(true) ->setUseEdgeTransactions(true) ->setCommentActionLabel(pht('Change Subscribers')) + ->setDescription(pht('Choose subscribers.')) ->setTransactionType($subscribers_type) ->setValue($sub_phids); diff --git a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php --- a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php +++ b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php @@ -840,8 +840,18 @@ throw $ex; } + // TODO: Once everything is on EditEngine, just use getIsNewObject() to + // figure this out instead. + $mark_as_create = false; + $create_type = PhabricatorTransactions::TYPE_CREATE; foreach ($xactions as $xaction) { - if ($this->getIsNewObject()) { + if ($xaction->getTransactionType() == $create_type) { + $mark_as_create = true; + } + } + + if ($mark_as_create) { + foreach ($xactions as $xaction) { $xaction->setIsCreateTransaction(true); } } diff --git a/src/applications/transactions/view/PhabricatorApplicationEditHTTPParameterHelpView.php b/src/applications/transactions/view/PhabricatorApplicationEditHTTPParameterHelpView.php --- a/src/applications/transactions/view/PhabricatorApplicationEditHTTPParameterHelpView.php +++ b/src/applications/transactions/view/PhabricatorApplicationEditHTTPParameterHelpView.php @@ -39,11 +39,17 @@ // Remove fields which do not expose an HTTP parameter type. $types = array(); foreach ($fields as $key => $field) { + if (!$field->shouldGenerateTransactionsFromSubmit()) { + unset($fields[$key]); + continue; + } + $type = $field->getHTTPParameterType(); if ($type === null) { unset($fields[$key]); continue; } + $types[$type->getTypeName()] = $type; }