/**
  * Update task status in kanban view
  * @param int $targetStatus
  * @param int $taskId
  */
 public function actionUpdateStatusInKanbanView($targetStatus, $taskId, $sourceKanbanType)
 {
     $response = array();
     //Run update queries for update task staus and update type and sort order in kanban column
     $task = Task::getById(intval($taskId));
     //set the scenario
     $task->setScenario('kanbanViewButtonClick');
     $this->processStatusUpdateViaAjax($task, $targetStatus, false);
     TasksUtil::processKanbanItemUpdateOnButtonAction(intval($targetStatus), intval($taskId), intval($sourceKanbanType));
     $subscriptionContent = TasksUtil::resolveAndRenderTaskCardDetailsSubscribersContent($task);
     $subscriptionContent .= TasksUtil::resolveSubscriptionLink($task, 'subscribe-task-link', 'unsubscribe-task-link');
     $response['subscriptionContent'] = $subscriptionContent;
     echo CJSON::encode($response);
 }
Ejemplo n.º 2
0
 /**
  * @covers resolveAndRenderTaskCardDetailsSubscribersContent
  */
 public function testResolveAndRenderTaskCardDetailsSubscribersContent()
 {
     $hellodear = UserTestHelper::createBasicUser('hellodear');
     $task = new Task();
     $task->name = 'MyCardTest';
     $task->owner = $hellodear;
     $this->assertTrue($task->save());
     $task = Task::getById($task->id);
     $user = Yii::app()->user->userModel;
     TasksUtil::addSubscriber($hellodear, $task);
     $this->assertTrue($task->save());
     $content = TasksUtil::resolveAndRenderTaskCardDetailsSubscribersContent($task);
     $this->assertContains('gravatar', $content);
     $this->assertContains('users/default/details', $content);
     $this->assertContains('hellodear', $content);
     $this->assertContains('task-owner', $content);
 }
 /**
  * @param Task $task
  * @param $row
  * @return string
  */
 protected function renderTaskCardDetailsContent(Task $task, $row)
 {
     $statusClass = 'status-' . $task->status;
     $content = $this->renderCardDataContent($this->cardColumns['completionBar'], $task, $row);
     $content .= ZurmoHtml::openTag('div', array('class' => 'task-details clearfix ' . $statusClass));
     $content .= ZurmoHtml::tag('span', array('class' => 'task-status'), Task::getStatusDisplayName($task->status));
     $content .= $this->resolveAndRenderTaskCardDetailsDueDateContent($task);
     $content .= ZurmoHtml::closeTag('div');
     $content .= ZurmoHtml::openTag('div', array('class' => 'task-content clearfix'));
     $content .= $this->resolveAndRenderTaskCardDetailsStatusContent($task, $row);
     $content .= Yii::app()->custom->renderExtraAttributesWithNameInKanbanCard($this->cardColumns, $task, $row);
     $content .= ZurmoHtml::openTag('h4');
     $content .= $this->renderCardDataContent($this->cardColumns['name'], $task, $row);
     $content .= ZurmoHtml::closeTag('h4');
     if ($task->description != null) {
         $description = $task->description;
         if (strlen($description) > TaskKanbanBoard::TASK_DESCRIPTION_LENGTH) {
             $description = substr($description, 0, TaskKanbanBoard::TASK_DESCRIPTION_LENGTH) . '...';
         }
         $content .= ZurmoHtml::tag('p', array(), $description);
     }
     $content .= ZurmoHtml::closeTag('div');
     $content .= ZurmoHtml::openTag('div', array('class' => 'task-subscribers'));
     $content .= TasksUtil::resolveAndRenderTaskCardDetailsSubscribersContent($task);
     $content .= $this->renderCardDataContent($this->cardColumns['subscribe'], $task, $row);
     $content .= ZurmoHtml::closeTag('div');
     return $content;
 }