Differential D18806 Diff 45278 src/applications/project/controller/PhabricatorProjectBoardViewController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/project/controller/PhabricatorProjectBoardViewController.php
| Show First 20 Lines • Show All 224 Lines • ▼ Show 20 Lines | if ($batch_edit) { | ||||
| ->setTitle(pht('No Editable Tasks')) | ->setTitle(pht('No Editable Tasks')) | ||||
| ->appendParagraph( | ->appendParagraph( | ||||
| pht( | pht( | ||||
| 'The selected column contains no visible tasks which you '. | 'The selected column contains no visible tasks which you '. | ||||
| 'have permission to edit.')) | 'have permission to edit.')) | ||||
| ->addCancelButton($board_uri); | ->addCancelButton($board_uri); | ||||
| } | } | ||||
| $batch_ids = mpull($batch_tasks, 'getID'); | // Create a saved query to hold the working set. This allows us to get | ||||
| $batch_ids = implode(',', $batch_ids); | // around URI length limitations with a long "?ids=..." query string. | ||||
| // For details, see T10268. | |||||
| $search_engine = id(new ManiphestTaskSearchEngine()) | |||||
| ->setViewer($viewer); | |||||
| $saved_query = $search_engine->newSavedQuery(); | |||||
| $saved_query->setParameter('ids', mpull($batch_tasks, 'getID')); | |||||
| $search_engine->saveQuery($saved_query); | |||||
| $query_key = $saved_query->getQueryKey(); | |||||
| $bulk_uri = new PhutilURI("/maniphest/bulk/query/{$query_key}/"); | |||||
| $bulk_uri->setQueryParam('board', $this->id); | |||||
| $batch_uri = new PhutilURI('/maniphest/batch/'); | |||||
| $batch_uri->setQueryParam('board', $this->id); | |||||
| $batch_uri->setQueryParam('batch', $batch_ids); | |||||
| return id(new AphrontRedirectResponse()) | return id(new AphrontRedirectResponse()) | ||||
| ->setURI($batch_uri); | ->setURI($bulk_uri); | ||||
| } | } | ||||
| $move_id = $request->getStr('move'); | $move_id = $request->getStr('move'); | ||||
| if (strlen($move_id)) { | if (strlen($move_id)) { | ||||
| $column_id_map = mpull($columns, null, 'getID'); | $column_id_map = mpull($columns, null, 'getID'); | ||||
| $move_column = idx($column_id_map, $move_id); | $move_column = idx($column_id_map, $move_id); | ||||
| if (!$move_column) { | if (!$move_column) { | ||||
| return new Aphront404Response(); | return new Aphront404Response(); | ||||
| ▲ Show 20 Lines • Show All 794 Lines • ▼ Show 20 Lines | private function buildColumnMenu( | ||||
| $batch_edit_uri->setQueryParam('batch', $column->getID()); | $batch_edit_uri->setQueryParam('batch', $column->getID()); | ||||
| $can_batch_edit = PhabricatorPolicyFilter::hasCapability( | $can_batch_edit = PhabricatorPolicyFilter::hasCapability( | ||||
| $viewer, | $viewer, | ||||
| PhabricatorApplication::getByClass('PhabricatorManiphestApplication'), | PhabricatorApplication::getByClass('PhabricatorManiphestApplication'), | ||||
| ManiphestBulkEditCapability::CAPABILITY); | ManiphestBulkEditCapability::CAPABILITY); | ||||
| $column_items[] = id(new PhabricatorActionView()) | $column_items[] = id(new PhabricatorActionView()) | ||||
| ->setIcon('fa-list-ul') | ->setIcon('fa-list-ul') | ||||
| ->setName(pht('Batch Edit Tasks...')) | ->setName(pht('Bulk Edit Tasks...')) | ||||
| ->setHref($batch_edit_uri) | ->setHref($batch_edit_uri) | ||||
| ->setDisabled(!$can_batch_edit); | ->setDisabled(!$can_batch_edit); | ||||
| $batch_move_uri = $request->getRequestURI(); | $batch_move_uri = $request->getRequestURI(); | ||||
| $batch_move_uri->setQueryParam('move', $column->getID()); | $batch_move_uri->setQueryParam('move', $column->getID()); | ||||
| $column_items[] = id(new PhabricatorActionView()) | $column_items[] = id(new PhabricatorActionView()) | ||||
| ->setIcon('fa-arrow-right') | ->setIcon('fa-arrow-right') | ||||
| ->setName(pht('Move Tasks to Column...')) | ->setName(pht('Move Tasks to Column...')) | ||||
| ▲ Show 20 Lines • Show All 257 Lines • Show Last 20 Lines | |||||