@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
at upstream/main 180 lines 4.2 kB view raw
1<?php 2 3final class DifferentialConstantsModule 4 extends PhabricatorConfigModule { 5 6 public function getModuleKey() { 7 return 'constants.differential'; 8 } 9 10 public function getModuleName() { 11 return pht('Constants: Differential'); 12 } 13 14 public function renderModuleStatus(AphrontRequest $request) { 15 $viewer = $request->getViewer(); 16 17 return array( 18 $this->renderRevisionStatuses($viewer), 19 $this->renderUnitStatuses($viewer), 20 $this->renderLintStatuses($viewer), 21 ); 22 } 23 24 private function renderRevisionStatuses(PhabricatorUser $viewer) { 25 $statuses = DifferentialRevisionStatus::getAll(); 26 27 $rows = array(); 28 foreach ($statuses as $status) { 29 $icon = id(new PHUIIconView()) 30 ->setIcon( 31 $status->getIcon(), 32 $status->getIconColor()); 33 34 $timeline_icon = $status->getTimelineIcon(); 35 if ($timeline_icon !== null) { 36 $timeline_view = id(new PHUIIconView()) 37 ->setIcon( 38 $status->getTimelineIcon(), 39 $status->getTimelineColor()); 40 } else { 41 $timeline_view = null; 42 } 43 44 if ($status->isClosedStatus()) { 45 $is_open = pht('Closed'); 46 } else { 47 $is_open = pht('Open'); 48 } 49 50 $tag_color = $status->getTagColor(); 51 if ($tag_color !== null) { 52 $tag_view = id(new PHUIIconView()) 53 ->seticon('fa-tag', $tag_color); 54 } else { 55 $tag_view = null; 56 } 57 58 $ansi_color = $status->getAnsiColor(); 59 if ($ansi_color !== null) { 60 $web_color = PHUIColor::getWebColorFromANSIColor($ansi_color); 61 $ansi_view = id(new PHUIIconView()) 62 ->setIcon('fa-stop', $web_color); 63 } else { 64 $ansi_view = null; 65 } 66 67 68 $rows[] = array( 69 $status->getKey(), 70 $status->getLegacyKey(), 71 $icon, 72 $timeline_view, 73 $tag_view, 74 $ansi_view, 75 $is_open, 76 $status->getDisplayName(), 77 ); 78 } 79 80 $table = id(new AphrontTableView($rows)) 81 ->setHeaders( 82 array( 83 pht('Value'), 84 pht('Legacy Value'), 85 pht('Icon'), 86 pht('Timeline Icon'), 87 pht('Tag Color'), 88 pht('ANSI Color'), 89 pht('Open/Closed'), 90 pht('Name'), 91 )) 92 ->setColumnClasses( 93 array( 94 null, 95 null, 96 null, 97 null, 98 null, 99 null, 100 null, 101 'wide pri', 102 )); 103 104 $view = id(new PHUIObjectBoxView()) 105 ->setHeaderText(pht('Differential Revision Statuses')) 106 ->setTable($table); 107 108 return $view; 109 } 110 111 private function renderUnitStatuses(PhabricatorUser $viewer) { 112 $statuses = DifferentialUnitStatus::getStatusMap(); 113 114 $rows = array(); 115 foreach ($statuses as $status) { 116 $rows[] = array( 117 $status->getValue(), 118 id(new PHUIIconView()) 119 ->setIcon($status->getIconIcon(), $status->getIconColor()), 120 $status->getName(), 121 ); 122 } 123 124 $table = id(new AphrontTableView($rows)) 125 ->setHeaders( 126 array( 127 pht('Value'), 128 pht('Icon'), 129 pht('Name'), 130 )) 131 ->setColumnClasses( 132 array( 133 null, 134 null, 135 'wide pri', 136 )); 137 138 $view = id(new PHUIObjectBoxView()) 139 ->setHeaderText(pht('Differential Unit Statuses')) 140 ->setTable($table); 141 142 return $view; 143 } 144 145 private function renderLintStatuses(PhabricatorUser $viewer) { 146 $statuses = DifferentialLintStatus::getStatusMap(); 147 148 $rows = array(); 149 foreach ($statuses as $status) { 150 $rows[] = array( 151 $status->getValue(), 152 id(new PHUIIconView()) 153 ->setIcon($status->getIconIcon(), $status->getIconColor()), 154 $status->getName(), 155 ); 156 } 157 158 $table = id(new AphrontTableView($rows)) 159 ->setHeaders( 160 array( 161 pht('Value'), 162 pht('Icon'), 163 pht('Name'), 164 )) 165 ->setColumnClasses( 166 array( 167 null, 168 null, 169 'wide pri', 170 )); 171 172 $view = id(new PHUIObjectBoxView()) 173 ->setHeaderText(pht('Differential Lint Statuses')) 174 ->setTable($table); 175 176 return $view; 177 } 178 179 180}