Page MenuHomePhabricator

D13581.id32824.diff
No OneTemporary

D13581.id32824.diff

Index: src/applications/diffusion/controller/DiffusionCommitController.php
===================================================================
--- src/applications/diffusion/controller/DiffusionCommitController.php
+++ src/applications/diffusion/controller/DiffusionCommitController.php
@@ -634,6 +634,8 @@
$props['Tasks'] = $task_list;
}
+ $props = $this->addCustomFieldProperties($props, $commit, $data);
+
return $props;
}
@@ -1082,4 +1084,47 @@
return $parser->processCorpus($corpus);
}
+ private function addCustomFieldProperties($props, $commit, $data) {
+ $field_list = PhabricatorCustomField::getObjectFields(
+ $commit,
+ PhabricatorCustomField::ROLE_VIEW);
+ $field_list
+ ->setViewer(PhabricatorUser::getOmnipotentUser())
+ ->readFieldsFromStorage($commit);
+
+ $fields = $field_list->getFields();
+ $field_names = array();
+ $field_map = array();
+ foreach ($fields as $field) {
+ if (!$field->shouldAppearInPropertyView()) {
+ continue;
+ }
+ $label = phutil_utf8_strtolower($field->getFieldName());
+ $field_names[$label] = $field->getFieldName();
+ $field_map[$label] = $field;
+ }
+ $corpus = $data->getCommitMessage();
+ $key_title = id(new DifferentialTitleField())->getFieldKeyForConduit();
+ $key_summary = id(new DifferentialSummaryField())->getFieldKeyForConduit();
+
+ $parser = id(new DifferentialCommitMessageParser())
+ ->setLabelMap($field_names)
+ ->setTitleKey($key_title)
+ ->setSummaryKey($key_summary);
+
+ $result = $parser->parseCorpus($corpus);
+
+ foreach ($field_map as $name => $field) {
+ $uname = $field->getFieldName();
+ if (isset($result[$uname])) {
+ $value = $result[$uname];
+ $value = $field->parseValueFromCommitMessage($value);
+ $field->readValueFromCommitMessage($value);
+ $props[$uname] = $field->renderPropertyViewValue(array());
+ }
+ }
+
+ return $props;
+ }
+
}

File Metadata

Mime Type
text/plain
Expires
Fri, Sep 26, 7:37 AM (3 w, 6 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
10701320
Default Alt Text
D13581.id32824.diff (1 KB)

Event Timeline