Currently, we just create a default "backlog" column if / when you visit a workboard for the first time. Post this patch, instead you see a blocking dialog that lets you either create the default backlog column or import columns from another project. In the case of the latter, the user gets another dialog which lets them select any project of which they are a member that also has columns in it. Note that only not hidden columns get imported. Fixes T4431.
Details
- Reviewers
epriestley - Maniphest Tasks
- T4431: Provide Workboard templates, or some other way to get a commonly used set of columns on a board quickly
- Commits
- Restricted Diffusion Commit
rP21dca29c5f29: Workboards - add new "initialization" flow
- made a new workboard and got my new dialog. made a default backlog and it worked!
- made a new workboard again and tried the import flow - it also worked.
- verified projects with no columns do not show up in import dialog
- verified project with / without columns still all show up in maniphest project typeahead
Diff Detail
- Repository
- rP Phabricator
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
This looks good functionally. How about these UI adjustments for consistency?
+-------------------------------------------------------+ | New Workboard | +-------------------------------------------------------+ | This workboard has not been set up yet. | | | | (*) New Empty Board | | Create a new board with just a backlog column. | | | | ( ) Import Columns | | Import board columns from another project. | | | +-------------------------------------------------------+ | [ Cancel ] [ Continue ] | +-------------------------------------------------------+
...and:
+-------------------------------------------------------+ | Import Columns | +-------------------------------------------------------+ | Choose a project to import columns from: | | | | Project: [ this is a typeahead ] | | | +-------------------------------------------------------+ | [ Cancel ] [ Import ] | +-------------------------------------------------------+
src/applications/project/controller/PhabricatorProjectBoardImportController.php | ||
---|---|---|
52 | Maybe HTTP 400, but this is pretty nitpicky. | |
58–60 | Oh, this is interesting. I like your behavior. | |
77 | You shouldn't need to edit a project to copy its columns -- being able to view it is good enough. | |
82–109 | We should move all of this to a typeahead. You can either copy the PhabricatorProjectDatasource, or (probably more cleanly) do something like: $datasource = id(new PhabricatorProjectDatasource()) ->setParameters(array('mustHaveColumns' => true)); Then, in the datasource, use getParameter() to choose whether the results are filtered down to just projects with columns or not. | |
src/applications/project/controller/PhabricatorProjectBoardViewController.php | ||
447 | You can appendParagraph() nowadays to skip needing to build a p tag. |
made the updates as suggested.
the -only- thing I didn't do is add a "Projects:" label before the new typeahead. It seemed unnecessary / the word project appeared a bunch already. Can add if you want though.