public function render()
 {
     $views = array();
     foreach ($this->tasks as $task) {
         $view = new ManiphestTaskSummaryView();
         $view->setTask($task);
         $view->setUser($this->user);
         $view->setHandles($this->handles);
         $views[] = $view->render();
     }
     return '<div style="padding: 1em;">' . implode("\n", $views) . '</div>';
 }
 public function render()
 {
     $views = array();
     foreach ($this->tasks as $task) {
         $view = new ManiphestTaskSummaryView();
         $view->setTask($task);
         $view->setShowBatchControls($this->showBatchControls);
         $view->setShowSubpriorityControls($this->showSubpriorityControls);
         $view->setUser($this->user);
         $view->setHandles($this->handles);
         $views[] = $view->render();
     }
     return implode("\n", $views);
 }
 public function processRequest()
 {
     $request = $this->getRequest();
     if (!$request->validateCSRF()) {
         return new Aphront403Response();
     }
     $task = id(new ManiphestTask())->load($request->getInt('task'));
     if (!$task) {
         return new Aphront404Response();
     }
     if ($request->getInt('after')) {
         $after_task = id(new ManiphestTask())->load($request->getInt('after'));
         if (!$after_task) {
             return new Aphront404Response();
         }
         $after_pri = $after_task->getPriority();
         $after_sub = $after_task->getSubpriority();
     } else {
         $after_pri = $request->getInt('priority');
         $after_sub = null;
     }
     $new_sub = ManiphestTransactionEditor::getNextSubpriority($after_pri, $after_sub);
     if ($after_pri != $task->getPriority()) {
         $xaction = new ManiphestTransaction();
         $xaction->setAuthorPHID($request->getUser()->getPHID());
         // TODO: Content source?
         $xaction->setTransactionType(ManiphestTransactionType::TYPE_PRIORITY);
         $xaction->setNewValue($after_pri);
         $editor = new ManiphestTransactionEditor();
         $editor->applyTransactions($task, array($xaction));
     }
     $task->setSubpriority($new_sub);
     $task->save();
     $pri_class = ManiphestTaskSummaryView::getPriorityClass($task->getPriority());
     $class = 'maniphest-task-handle maniphest-active-handle ' . $pri_class;
     $response = array('className' => $class);
     return id(new AphrontAjaxResponse())->setContent($response);
 }