mirror of
https://we.phorge.it/source/phorge.git
synced 2025-01-03 11:21:01 +01:00
Add project tags to Pholio
Summary: T2628, adding project tags to pholio mocks Test Plan: Create pholio mock, add project tag, save, project tag should show in mock properties on mock view. Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: epriestley, Korvin Differential Revision: https://secure.phabricator.com/D9420
This commit is contained in:
parent
96d5a9b4c2
commit
bfc594b3eb
3 changed files with 35 additions and 1 deletions
|
@ -47,6 +47,15 @@ final class PholioMockEditController extends PholioController {
|
||||||
$mock_images = array();
|
$mock_images = array();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($is_new) {
|
||||||
|
$v_projects = array();
|
||||||
|
} else {
|
||||||
|
$v_projects = PhabricatorEdgeQuery::loadDestinationPHIDs(
|
||||||
|
$mock->getPHID(),
|
||||||
|
PhabricatorEdgeConfig::TYPE_OBJECT_HAS_PROJECT);
|
||||||
|
$v_projects = array_reverse($v_projects);
|
||||||
|
}
|
||||||
|
|
||||||
$e_name = true;
|
$e_name = true;
|
||||||
$e_images = true;
|
$e_images = true;
|
||||||
$errors = array();
|
$errors = array();
|
||||||
|
@ -73,6 +82,7 @@ final class PholioMockEditController extends PholioController {
|
||||||
$v_status = $request->getStr('status');
|
$v_status = $request->getStr('status');
|
||||||
$v_view = $request->getStr('can_view');
|
$v_view = $request->getStr('can_view');
|
||||||
$v_cc = $request->getArr('cc');
|
$v_cc = $request->getArr('cc');
|
||||||
|
$v_projects = $request->getArr('projects');
|
||||||
|
|
||||||
$mock_xactions = array();
|
$mock_xactions = array();
|
||||||
$mock_xactions[$type_name] = $v_name;
|
$mock_xactions[$type_name] = $v_name;
|
||||||
|
@ -177,6 +187,7 @@ final class PholioMockEditController extends PholioController {
|
||||||
PholioTransactionType::TYPE_IMAGE_SEQUENCE)
|
PholioTransactionType::TYPE_IMAGE_SEQUENCE)
|
||||||
->setNewValue(
|
->setNewValue(
|
||||||
array($existing_image->getPHID() => $sequence));
|
array($existing_image->getPHID() => $sequence));
|
||||||
|
|
||||||
$posted_mock_images[] = $existing_image;
|
$posted_mock_images[] = $existing_image;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -191,6 +202,12 @@ final class PholioMockEditController extends PholioController {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$errors) {
|
if (!$errors) {
|
||||||
|
$proj_edge_type = PhabricatorEdgeConfig::TYPE_OBJECT_HAS_PROJECT;
|
||||||
|
$xactions[] = id(new PholioTransaction())
|
||||||
|
->setTransactionType(PhabricatorTransactions::TYPE_EDGE)
|
||||||
|
->setMetadataValue('edge:type', $proj_edge_type)
|
||||||
|
->setNewValue(array('=' => array_fuse($v_projects)));
|
||||||
|
|
||||||
$mock->openTransaction();
|
$mock->openTransaction();
|
||||||
$editor = id(new PholioMockEditor())
|
$editor = id(new PholioMockEditor())
|
||||||
->setContentSourceFromRequest($request)
|
->setContentSourceFromRequest($request)
|
||||||
|
@ -286,6 +303,12 @@ final class PholioMockEditController extends PholioController {
|
||||||
),
|
),
|
||||||
));
|
));
|
||||||
|
|
||||||
|
if ($v_projects) {
|
||||||
|
$project_handles = $this->loadViewerHandles($v_projects);
|
||||||
|
} else {
|
||||||
|
$project_handles = array();
|
||||||
|
}
|
||||||
|
|
||||||
require_celerity_resource('pholio-edit-css');
|
require_celerity_resource('pholio-edit-css');
|
||||||
$form = id(new AphrontFormView())
|
$form = id(new AphrontFormView())
|
||||||
->setUser($user)
|
->setUser($user)
|
||||||
|
@ -308,6 +331,12 @@ final class PholioMockEditController extends PholioController {
|
||||||
->setName('status')
|
->setName('status')
|
||||||
->setValue($mock->getStatus())
|
->setValue($mock->getStatus())
|
||||||
->setOptions($mock->getStatuses()))
|
->setOptions($mock->getStatuses()))
|
||||||
|
->appendChild(
|
||||||
|
id(new AphrontFormTokenizerControl())
|
||||||
|
->setLabel(pht('Projects'))
|
||||||
|
->setName('projects')
|
||||||
|
->setValue($project_handles)
|
||||||
|
->setDatasource('/typeahead/common/projects/'))
|
||||||
->appendChild(
|
->appendChild(
|
||||||
id(new AphrontFormTokenizerControl())
|
id(new AphrontFormTokenizerControl())
|
||||||
->setLabel(pht('CC'))
|
->setLabel(pht('CC'))
|
||||||
|
|
|
@ -203,6 +203,8 @@ final class PholioMockEditor extends PhabricatorApplicationTransactionEditor {
|
||||||
case PholioTransactionType::TYPE_STATUS:
|
case PholioTransactionType::TYPE_STATUS:
|
||||||
$object->setStatus($xaction->getNewValue());
|
$object->setStatus($xaction->getNewValue());
|
||||||
break;
|
break;
|
||||||
|
case PhabricatorTransactions::TYPE_EDGE:
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -270,6 +272,8 @@ final class PholioMockEditor extends PhabricatorApplicationTransactionEditor {
|
||||||
$image->setSequence($value);
|
$image->setSequence($value);
|
||||||
$image->save();
|
$image->save();
|
||||||
break;
|
break;
|
||||||
|
case PhabricatorTransactions::TYPE_EDGE:
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,8 @@ final class PholioMock extends PholioDAO
|
||||||
PhabricatorSubscribableInterface,
|
PhabricatorSubscribableInterface,
|
||||||
PhabricatorTokenReceiverInterface,
|
PhabricatorTokenReceiverInterface,
|
||||||
PhabricatorFlaggableInterface,
|
PhabricatorFlaggableInterface,
|
||||||
PhabricatorApplicationTransactionInterface {
|
PhabricatorApplicationTransactionInterface,
|
||||||
|
PhabricatorProjectInterface {
|
||||||
|
|
||||||
const MARKUP_FIELD_DESCRIPTION = 'markup:description';
|
const MARKUP_FIELD_DESCRIPTION = 'markup:description';
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue