Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F15389234
D9721.id23356.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
7 KB
Referenced Files
None
Subscribers
None
D9721.id23356.diff
View Options
diff --git a/src/applications/project/controller/PhabricatorProjectBoardDeleteController.php b/src/applications/project/controller/PhabricatorProjectBoardDeleteController.php
--- a/src/applications/project/controller/PhabricatorProjectBoardDeleteController.php
+++ b/src/applications/project/controller/PhabricatorProjectBoardDeleteController.php
@@ -42,10 +42,17 @@
}
$column_phid = $column->getPHID();
-
$view_uri = $this->getApplicationURI(
'/board/'.$this->projectID.'/column/'.$this->id.'/');
+ if ($column->isDefaultColumn()) {
+ return $this->newDialog()
+ ->setTitle(pht('Can Not Hide Default Column'))
+ ->appendParagraph(
+ pht('You can not hide the default/backlog column on a board.'))
+ ->addCancelButton($view_uri, pht('Okay'));
+ }
+
if ($request->isFormPost()) {
if ($column->isHidden()) {
$new_status = PhabricatorProjectColumn::STATUS_ACTIVE;
diff --git a/src/applications/project/controller/PhabricatorProjectBoardEditController.php b/src/applications/project/controller/PhabricatorProjectBoardEditController.php
--- a/src/applications/project/controller/PhabricatorProjectBoardEditController.php
+++ b/src/applications/project/controller/PhabricatorProjectBoardEditController.php
@@ -111,9 +111,11 @@
if ($is_new) {
$title = pht('Create Column');
$submit = pht('Create Column');
+ $crumb_text = pht('Create Column');
} else {
- $title = pht('Edit %s', $column->getName());
+ $title = pht('Edit %s', $column->getDisplayName());
$submit = pht('Save Column');
+ $crumb_text = pht('Edit');
}
$form->appendChild(
@@ -125,7 +127,14 @@
$crumbs->addTextCrumb(
pht('Board'),
$this->getApplicationURI('board/'.$project->getID().'/'));
- $crumbs->addTextCrumb($title);
+
+ if (!$is_new) {
+ $crumbs->addTextCrumb(
+ $column->getDisplayName(),
+ $view_uri);
+ }
+
+ $crumbs->addTextCrumb($crumb_text);
$form_box = id(new PHUIObjectBoxView())
->setHeaderText($title)
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
@@ -175,9 +175,7 @@
->setHeader($column->getDisplayName())
->setHeaderColor($column->getHeaderColor());
- if (!$column->isDefaultColumn()) {
- $panel->setEditURI($board_uri.'column/'.$column->getID().'/');
- }
+ $panel->setEditURI($board_uri.'column/'.$column->getID().'/');
$panel->setHeaderAction(id(new PHUIIconView())
->setIconFont('fa-plus')
diff --git a/src/applications/project/controller/PhabricatorProjectColumnDetailController.php b/src/applications/project/controller/PhabricatorProjectColumnDetailController.php
--- a/src/applications/project/controller/PhabricatorProjectColumnDetailController.php
+++ b/src/applications/project/controller/PhabricatorProjectColumnDetailController.php
@@ -54,7 +54,7 @@
->setObjectPHID($column->getPHID())
->setTransactions($xactions);
- $title = pht('%s', $column->getName());
+ $title = pht('%s', $column->getDisplayName());
$crumbs = $this->buildApplicationCrumbs();
$crumbs->addTextCrumb(
pht('Board'),
@@ -85,7 +85,7 @@
$header = id(new PHUIHeaderView())
->setUser($viewer)
- ->setHeader($column->getName())
+ ->setHeader($column->getDisplayName())
->setPolicyObject($column);
if ($column->isHidden()) {
@@ -119,13 +119,15 @@
->setDisabled(!$can_edit)
->setWorkflow(!$can_edit));
+ $can_hide = ($can_edit && !$column->isDefaultColumn());
+
if (!$column->isHidden()) {
$actions->addAction(
id(new PhabricatorActionView())
->setName(pht('Hide Column'))
->setIcon('fa-eye-slash')
->setHref($this->getApplicationURI($base_uri.'delete/'.$id.'/'))
- ->setDisabled(!$can_edit)
+ ->setDisabled(!$can_hide)
->setWorkflow(true));
} else {
$actions->addAction(
@@ -133,7 +135,7 @@
->setName(pht('Show Column'))
->setIcon('fa-eye')
->setHref($this->getApplicationURI($base_uri.'delete/'.$id.'/'))
- ->setDisabled(!$can_edit)
+ ->setDisabled(!$can_hide)
->setWorkflow(true));
}
diff --git a/src/applications/project/editor/PhabricatorProjectColumnTransactionEditor.php b/src/applications/project/editor/PhabricatorProjectColumnTransactionEditor.php
--- a/src/applications/project/editor/PhabricatorProjectColumnTransactionEditor.php
+++ b/src/applications/project/editor/PhabricatorProjectColumnTransactionEditor.php
@@ -81,7 +81,10 @@
$object->getName(),
$xactions);
- if ($missing) {
+ // The default "Backlog" column is allowed to be unnamed, which
+ // means we use the default name.
+
+ if ($missing && !$object->isDefaultColumn()) {
$error = new PhabricatorApplicationTransactionValidationError(
$type,
pht('Required'),
diff --git a/src/applications/project/storage/PhabricatorProjectColumn.php b/src/applications/project/storage/PhabricatorProjectColumn.php
--- a/src/applications/project/storage/PhabricatorProjectColumn.php
+++ b/src/applications/project/storage/PhabricatorProjectColumn.php
@@ -50,10 +50,16 @@
}
public function getDisplayName() {
+ $name = $this->getName();
+ if (strlen($name)) {
+ return $name;
+ }
+
if ($this->isDefaultColumn()) {
return pht('Backlog');
}
- return $this->getName();
+
+ return pht('Unnamed Column');
}
public function getHeaderColor() {
diff --git a/src/applications/project/storage/PhabricatorProjectColumnTransaction.php b/src/applications/project/storage/PhabricatorProjectColumnTransaction.php
--- a/src/applications/project/storage/PhabricatorProjectColumnTransaction.php
+++ b/src/applications/project/storage/PhabricatorProjectColumnTransaction.php
@@ -21,16 +21,27 @@
switch ($this->getTransactionType()) {
case PhabricatorProjectColumnTransaction::TYPE_NAME:
- if (!strlen($old)) {
+ if ($old === null) {
return pht(
'%s created this column.',
$author_handle);
} else {
- return pht(
- '%s renamed this column from "%s" to "%s".',
- $author_handle,
- $old,
- $new);
+ if (!strlen($old)) {
+ return pht(
+ '%s named this column "%s".',
+ $author_handle,
+ $new);
+ } else if (strlen($new)) {
+ return pht(
+ '%s renamed this column from "%s" to "%s".',
+ $author_handle,
+ $old,
+ $new);
+ } else {
+ return pht(
+ '%s removed the custom name of this column.',
+ $author_handle);
+ }
}
case PhabricatorProjectColumnTransaction::TYPE_STATUS:
switch ($new) {
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mar 16 2025, 5:01 AM (4 w, 3 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7223709
Default Alt Text
D9721.id23356.diff (7 KB)
Attached To
Mode
D9721: Allow the Default/Backlog column to be renamed
Attached
Detach File
Event Timeline
Log In to Comment