Page MenuHomePhorge

D25902.1741719006.diff
No OneTemporary

D25902.1741719006.diff

diff --git a/src/applications/maniphest/controller/ManiphestReportController.php b/src/applications/maniphest/controller/ManiphestReportController.php
--- a/src/applications/maniphest/controller/ManiphestReportController.php
+++ b/src/applications/maniphest/controller/ManiphestReportController.php
@@ -192,11 +192,6 @@
$data = array_values($data);
$data = isort($data, 'dateCreated');
- $stats = array();
- $day_buckets = array();
-
- $open_tasks = array();
-
foreach ($data as $key => $row) {
switch ($row['transactionType']) {
case ManiphestTaskStatusTransaction::TRANSACTIONTYPE:
@@ -230,157 +225,8 @@
$data[$key]['_is_open'] = $is_open;
$data[$key]['_is_close'] = $is_close;
-
- if (!$is_open && !$is_close) {
- // This is either some kind of bogus event, or a resolution change
- // (e.g., resolved -> invalid). Just skip it.
- continue;
- }
-
- $day_bucket = phabricator_format_local_time(
- $row['dateCreated'],
- $viewer,
- 'Yz');
- $day_buckets[$day_bucket] = $row['dateCreated'];
- if (empty($stats[$day_bucket])) {
- $stats[$day_bucket] = array(
- 'open' => 0,
- 'close' => 0,
- );
- }
- $stats[$day_bucket][$is_close ? 'close' : 'open']++;
- }
-
- $template = array(
- 'open' => 0,
- 'close' => 0,
- );
-
- $rows = array();
- $rowc = array();
- $last_month = null;
- $last_month_epoch = null;
- $last_week = null;
- $last_week_epoch = null;
- $week = null;
- $month = null;
-
- $last = last_key($stats) - 1;
- $period = $template;
-
- foreach ($stats as $bucket => $info) {
- $epoch = $day_buckets[$bucket];
-
- $week_bucket = phabricator_format_local_time(
- $epoch,
- $viewer,
- 'YW');
- if ($week_bucket != $last_week) {
- if ($week) {
- $rows[] = $this->formatBurnRow(
- pht('Week of %s', phabricator_date($last_week_epoch, $viewer)),
- $week);
- $rowc[] = 'week';
- }
- $week = $template;
- $last_week = $week_bucket;
- $last_week_epoch = $epoch;
- }
-
- $month_bucket = phabricator_format_local_time(
- $epoch,
- $viewer,
- 'Ym');
- if ($month_bucket != $last_month) {
- if ($month) {
- $rows[] = $this->formatBurnRow(
- phabricator_format_local_time($last_month_epoch, $viewer, 'F, Y'),
- $month);
- $rowc[] = 'month';
- }
- $month = $template;
- $last_month = $month_bucket;
- $last_month_epoch = $epoch;
- }
-
- $rows[] = $this->formatBurnRow(phabricator_date($epoch, $viewer), $info);
- $rowc[] = null;
- $week['open'] += $info['open'];
- $week['close'] += $info['close'];
- $month['open'] += $info['open'];
- $month['close'] += $info['close'];
- $period['open'] += $info['open'];
- $period['close'] += $info['close'];
- }
-
- if ($week) {
- $rows[] = $this->formatBurnRow(
- pht('Week To Date'),
- $week);
- $rowc[] = 'week';
- }
-
- if ($month) {
- $rows[] = $this->formatBurnRow(
- pht('Month To Date'),
- $month);
- $rowc[] = 'month';
- }
-
- $rows[] = $this->formatBurnRow(
- pht('All Time'),
- $period);
- $rowc[] = 'aggregate';
-
- $rows = array_reverse($rows);
- $rowc = array_reverse($rowc);
-
- $table = new AphrontTableView($rows);
- $table->setRowClasses($rowc);
- $table->setHeaders(
- array(
- pht('Period'),
- pht('Opened'),
- pht('Closed'),
- pht('Change'),
- ));
- $table->setColumnClasses(
- array(
- 'right wide',
- 'n',
- 'n',
- 'n',
- ));
-
- if ($handle) {
- $inst = pht(
- 'NOTE: This table reflects tasks currently in '.
- 'the project. If a task was opened in the past but added to '.
- 'the project recently, it is counted on the day it was '.
- 'opened, not the day it was categorized. If a task was part '.
- 'of this project in the past but no longer is, it is not '.
- 'counted at all. This table may not agree exactly with the chart '.
- 'above.');
- $header = pht('Task Burn Rate for Project %s', $handle->renderLink());
- $caption = phutil_tag('p', array(), $inst);
- } else {
- $header = pht('Task Burn Rate for All Tasks');
- $caption = null;
- }
-
- if ($caption) {
- $caption = id(new PHUIInfoView())
- ->appendChild($caption)
- ->setSeverity(PHUIInfoView::SEVERITY_NOTICE);
}
- $panel = new PHUIObjectBoxView();
- $panel->setHeaderText($header);
- if ($caption) {
- $panel->setInfoView($caption);
- }
- $panel->setTable($table);
-
$tokens = array();
if ($handle) {
$tokens = array($handle);
@@ -388,18 +234,6 @@
$filter = $this->renderReportFilters($tokens, $has_window = false);
- $id = celerity_generate_unique_node_id();
- $chart = phutil_tag(
- 'div',
- array(
- 'id' => $id,
- 'style' => 'border: 1px solid #BFCFDA; '.
- 'background-color: #fff; '.
- 'margin: 8px 16px; '.
- 'height: 400px; ',
- ),
- '');
-
list($burn_x, $burn_y) = $this->buildSeries($data);
if ($project_phid) {
@@ -490,33 +324,7 @@
}
/**
- * @param $label string Time representation for the row, e.g. "Feb 29 2024",
- * "All Time", "Week of May 10 2024", "Month To Date", etc.
- * @param $info array<string,int> open|close; number of tasks in timespan
- * @return array<string,string,string,PhutilSafeHTML> Row text label; number
- * of open tasks as string; number of closed tasks as string;
- * PhutilSafeHTML such as "<span class="red">+144</span>"
- */
- private function formatBurnRow($label, $info) {
- $delta = $info['open'] - $info['close'];
- $fmt = number_format($delta);
- if ($delta > 0) {
- $fmt = '+'.$fmt;
- $fmt = phutil_tag('span', array('class' => 'red'), $fmt);
- } else {
- $fmt = phutil_tag('span', array('class' => 'green'), $fmt);
- }
-
- return array(
- $label,
- number_format($info['open']),
- number_format($info['close']),
- $fmt,
- );
- }
-
- /**
- * @return int 50
+ * @return int 50, the default value of the default "normal" Priority
*/
private function getAveragePriority() {
// TODO: This is sort of a hard-code for the default "normal" status.

File Metadata

Mime Type
text/plain
Expires
Mar 11 2025, 18:50 (5 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1234463
Default Alt Text
D25902.1741719006.diff (6 KB)

Event Timeline