@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
1<?php
2
3final class PhabricatorProjectColumnPointsOrder
4 extends PhabricatorProjectColumnOrder {
5
6 const ORDERKEY = 'points';
7
8 public function getDisplayName() {
9 return pht('Sort by Points');
10 }
11
12 protected function newMenuIconIcon() {
13 return 'fa-map-pin';
14 }
15
16 public function isEnabled() {
17 return ManiphestTaskPoints::getIsEnabled();
18 }
19
20 public function getHasHeaders() {
21 return false;
22 }
23
24 public function getCanReorder() {
25 return false;
26 }
27
28 public function getMenuOrder() {
29 return 6000;
30 }
31
32 protected function newSortVectorForObject($object) {
33 $points = $object->getPoints();
34
35 // Put cards with no points on top.
36 $has_points = ($points !== null);
37 if (!$has_points) {
38 $overall_order = 0;
39 } else {
40 $overall_order = 1;
41 }
42
43 return array(
44 $overall_order,
45 -1.0 * (float)$points,
46 -1 * (int)$object->getID(),
47 );
48 }
49
50}