Page MenuHomePhabricator

D15232.diff
No OneTemporary

D15232.diff

diff --git a/src/applications/project/controller/PhabricatorProjectBoardViewController.php b/src/applications/project/controller/PhabricatorProjectBoardViewController.php
--- a/src/applications/project/controller/PhabricatorProjectBoardViewController.php
+++ b/src/applications/project/controller/PhabricatorProjectBoardViewController.php
@@ -126,11 +126,21 @@
$columns = $layout_engine->getColumns($board_phid);
if (!$columns || !$project->getHasWorkboard()) {
+ $has_normal_columns = false;
+
+ foreach ($columns as $column) {
+ if (!$column->getProxyPHID()) {
+ $has_normal_columns = true;
+ break;
+ }
+ }
+
$can_edit = PhabricatorPolicyFilter::hasCapability(
$viewer,
$project,
PhabricatorPolicyCapability::CAN_EDIT);
- if (!$columns) {
+
+ if (!$has_normal_columns) {
if (!$can_edit) {
$content = $this->buildNoAccessContent($project);
} else {
diff --git a/src/applications/project/engine/PhabricatorBoardLayoutEngine.php b/src/applications/project/engine/PhabricatorBoardLayoutEngine.php
--- a/src/applications/project/engine/PhabricatorBoardLayoutEngine.php
+++ b/src/applications/project/engine/PhabricatorBoardLayoutEngine.php
@@ -366,7 +366,12 @@
if ($board->getHasMilestones() || $board->getHasSubprojects()) {
$child_projects = idx($children, $board_phid, array());
- $next_sequence = last($board_columns)->getSequence() + 1;
+ if ($board_columns) {
+ $next_sequence = last($board_columns)->getSequence() + 1;
+ } else {
+ $next_sequence = 1;
+ }
+
$proxy_columns = mpull($board_columns, null, 'getProxyPHID');
foreach ($child_projects as $child_phid => $child) {
if (isset($proxy_columns[$child_phid])) {
@@ -433,6 +438,7 @@
$position_groups = mgroup($positions, 'getObjectPHID');
$layout = array();
+ $default_phid = null;
foreach ($columns as $column) {
$column_phid = $column->getPHID();
$layout[$column_phid] = array();
@@ -565,8 +571,9 @@
}
}
- // If the object has no position, put it on the default column.
- if (!$positions) {
+ // If the object has no position, put it on the default column if
+ // one exists.
+ if (!$positions && $default_phid) {
$new_position = id(new PhabricatorProjectColumnPosition())
->setBoardPHID($board_phid)
->setColumnPHID($default_phid)

File Metadata

Mime Type
text/plain
Expires
Sat, Mar 22, 12:54 AM (3 d, 7 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7385058
Default Alt Text
D15232.diff (2 KB)

Event Timeline