1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-22 06:42:42 +01:00

Workboard: fix regression caused by tags= prefiller

Summary:
This change fixes a regression introduced here:

rP5e2b3677157889104a7e540d7772a04f13164037

Thank you to the user @dadalha for auditing that commit
and sharing a stack trace to easily fix the issue.

In short, if you see this exception you are affected:

```
EXCEPTION: (InvalidArgumentException)
Value provided to "replaceQueryParam()" for key "tags" is NULL.
Use "removeQueryParam()" to remove a query parameter.
at [<arcanist>/src/parser/PhutilURI.php:341]
```

This change just fixes that specific problem.

Closes T15221

Test Plan:
1. Create a new Project
2. Create a new Milestone inside
3. Create the Milestone's Workboard
4. Visit the Milestone's Workboard and note that now it works

Reviewers: O1 Blessed Committers, avivey

Reviewed By: O1 Blessed Committers, avivey

Subscribers: speck, tobiaswiese, Matthew, Cigaryno, dadalha

Tags: #workboard

Maniphest Tasks: T15221

Differential Revision: https://we.phorge.it/D25103
This commit is contained in:
Valerio Bozzolan 2023-03-31 10:40:45 +02:00
parent 821df3364e
commit fc9bbb9949

View file

@ -693,11 +693,19 @@ final class PhabricatorProjectBoardViewController
->newCreateActionSpecifications(array()); ->newCreateActionSpecifications(array());
foreach ($specs as $spec) { foreach ($specs as $spec) {
// Prefill tags= when you open the Column menu
// https://we.phorge.it/T15147
$spec_href = new PhutilURI($spec['uri']);
$spec_slug = $project->getPrimarySlug();
if ($spec_slug !== null) {
$spec_href->replaceQueryParam('tags', $spec_slug);
}
$column_items[] = id(new PhabricatorActionView()) $column_items[] = id(new PhabricatorActionView())
->setIcon($spec['icon']) ->setIcon($spec['icon'])
->setName($spec['name']) ->setName($spec['name'])
->setHref(id(new PhutilURI($spec['uri'])) ->setHref($spec_href)
->replaceQueryParam('tags', $project->getPrimarySlug()))
->setDisabled($spec['disabled']) ->setDisabled($spec['disabled'])
->addSigil('column-add-task') ->addSigil('column-add-task')
->setMetadata( ->setMetadata(