Changeset View
Changeset View
Standalone View
Standalone View
src/applications/nuance/source/NuanceSourceDefinition.php
| Show First 20 Lines • Show All 163 Lines • ▼ Show 20 Lines | $form = id(new AphrontFormView()) | ||||
| id(new AphrontFormTextControl()) | id(new AphrontFormTextControl()) | ||||
| ->setLabel(pht('Name')) | ->setLabel(pht('Name')) | ||||
| ->setName('name') | ->setName('name') | ||||
| ->setError($e_name) | ->setError($e_name) | ||||
| ->setValue($source->getName())); | ->setValue($source->getName())); | ||||
| $form = $this->augmentEditForm($form, $ex); | $form = $this->augmentEditForm($form, $ex); | ||||
| $default_phid = $source->getDefaultQueuePHID(); | |||||
| if ($default_phid) { | |||||
| $default_queues = array($default_phid); | |||||
| } else { | |||||
| $default_queues = array(); | |||||
| } | |||||
| $form | $form | ||||
| ->appendControl( | |||||
| id(new AphrontFormTokenizerControl()) | |||||
| ->setLabel(pht('Default Queue')) | |||||
| ->setName('defaultQueuePHIDs') | |||||
| ->setLimit(1) | |||||
| ->setDatasource(new NuanceQueueDatasource()) | |||||
| ->setValue($default_queues)) | |||||
| ->appendChild( | ->appendChild( | ||||
| id(new AphrontFormPolicyControl()) | id(new AphrontFormPolicyControl()) | ||||
| ->setUser($user) | ->setUser($user) | ||||
| ->setCapability(PhabricatorPolicyCapability::CAN_VIEW) | ->setCapability(PhabricatorPolicyCapability::CAN_VIEW) | ||||
| ->setPolicyObject($source) | ->setPolicyObject($source) | ||||
| ->setPolicies($policies) | ->setPolicies($policies) | ||||
| ->setName('viewPolicy')) | ->setName('viewPolicy')) | ||||
| ->appendChild( | ->appendChild( | ||||
| id(new AphrontFormPolicyControl()) | id(new AphrontFormPolicyControl()) | ||||
| ->setUser($user) | ->setUser($user) | ||||
| ->setCapability(PhabricatorPolicyCapability::CAN_EDIT) | ->setCapability(PhabricatorPolicyCapability::CAN_EDIT) | ||||
| ->setPolicyObject($source) | ->setPolicyObject($source) | ||||
| ->setPolicies($policies) | ->setPolicies($policies) | ||||
| ->setName('editPolicy')) | ->setName('editPolicy')) | ||||
| ->appendChild( | ->appendChild( | ||||
| id(new AphrontFormSubmitControl()) | id(new AphrontFormSubmitControl()) | ||||
| ->addCancelButton($source->getURI()) | ->addCancelButton($source->getURI()) | ||||
| ->setValue(pht('Save'))); | ->setValue(pht('Save'))); | ||||
| return $form; | return $form; | ||||
| } | } | ||||
| /** | /** | ||||
| * return @{class:AphrontFormView} | * return @{class:AphrontFormView} | ||||
| */ | */ | ||||
| protected function augmentEditForm( | protected function augmentEditForm( | ||||
| Show All 9 Lines | abstract class NuanceSourceDefinition extends Phobject { | ||||
| * return array $transactions | * return array $transactions | ||||
| */ | */ | ||||
| protected function buildTransactions(AphrontRequest $request) { | protected function buildTransactions(AphrontRequest $request) { | ||||
| $transactions = array(); | $transactions = array(); | ||||
| $transactions[] = id(new NuanceSourceTransaction()) | $transactions[] = id(new NuanceSourceTransaction()) | ||||
| ->setTransactionType(PhabricatorTransactions::TYPE_EDIT_POLICY) | ->setTransactionType(PhabricatorTransactions::TYPE_EDIT_POLICY) | ||||
| ->setNewValue($request->getStr('editPolicy')); | ->setNewValue($request->getStr('editPolicy')); | ||||
| $transactions[] = id(new NuanceSourceTransaction()) | $transactions[] = id(new NuanceSourceTransaction()) | ||||
| ->setTransactionType(PhabricatorTransactions::TYPE_VIEW_POLICY) | ->setTransactionType(PhabricatorTransactions::TYPE_VIEW_POLICY) | ||||
| ->setNewValue($request->getStr('viewPolicy')); | ->setNewValue($request->getStr('viewPolicy')); | ||||
| $transactions[] = id(new NuanceSourceTransaction()) | $transactions[] = id(new NuanceSourceTransaction()) | ||||
| ->setTransactionType(NuanceSourceTransaction::TYPE_NAME) | ->setTransactionType(NuanceSourceTransaction::TYPE_NAME) | ||||
| ->setNewvalue($request->getStr('name')); | ->setNewvalue($request->getStr('name')); | ||||
| $transactions[] = id(new NuanceSourceTransaction()) | |||||
| ->setTransactionType(NuanceSourceTransaction::TYPE_DEFAULT_QUEUE) | |||||
| ->setNewvalue(head($request->getArr('defaultQueuePHIDs'))); | |||||
| return $transactions; | return $transactions; | ||||
| } | } | ||||
| abstract public function renderView(); | abstract public function renderView(); | ||||
| abstract public function renderListView(); | abstract public function renderListView(); | ||||
| Show All 15 Lines | protected function newItemFromProperties( | ||||
| $xactions[] = id(new NuanceItemTransaction()) | $xactions[] = id(new NuanceItemTransaction()) | ||||
| ->setTransactionType(NuanceItemTransaction::TYPE_SOURCE) | ->setTransactionType(NuanceItemTransaction::TYPE_SOURCE) | ||||
| ->setNewValue($source->getPHID()); | ->setNewValue($source->getPHID()); | ||||
| $xactions[] = id(new NuanceItemTransaction()) | $xactions[] = id(new NuanceItemTransaction()) | ||||
| ->setTransactionType(NuanceItemTransaction::TYPE_REQUESTOR) | ->setTransactionType(NuanceItemTransaction::TYPE_REQUESTOR) | ||||
| ->setNewValue($requestor->getPHID()); | ->setNewValue($requestor->getPHID()); | ||||
| // TODO: Eventually, apply real routing rules. For now, just put everything | |||||
| // in the default queue for the source. | |||||
| $xactions[] = id(new NuanceItemTransaction()) | |||||
| ->setTransactionType(NuanceItemTransaction::TYPE_QUEUE) | |||||
| ->setNewValue($source->getDefaultQueuePHID()); | |||||
| foreach ($properties as $key => $property) { | foreach ($properties as $key => $property) { | ||||
| $xactions[] = id(new NuanceItemTransaction()) | $xactions[] = id(new NuanceItemTransaction()) | ||||
| ->setTransactionType(NuanceItemTransaction::TYPE_PROPERTY) | ->setTransactionType(NuanceItemTransaction::TYPE_PROPERTY) | ||||
| ->setMetadataValue(NuanceItemTransaction::PROPERTY_KEY, $key) | ->setMetadataValue(NuanceItemTransaction::PROPERTY_KEY, $key) | ||||
| ->setNewValue($property); | ->setNewValue($property); | ||||
| } | } | ||||
| $editor = id(new NuanceItemEditor()) | $editor = id(new NuanceItemEditor()) | ||||
| Show All 37 Lines | |||||