Ejemplo n.º 1
0
 /**
  * @covers resolveDetailSubscribeUrl
  */
 public function testResolveDetailSubscriptionLink()
 {
     $tasks = Task::getByName('MyTest');
     $task = $tasks[0];
     if ($task->doNotificationSubscribersContainPerson(Yii::app()->user->userModel) === false) {
         $notificationSubscriber = new NotificationSubscriber();
         $notificationSubscriber->person = Yii::app()->user->userModel;
         $task->notificationSubscribers->add($notificationSubscriber);
         $task->save();
     }
     $link = TasksUtil::getDetailSubscriptionLink($task, 0);
     $this->assertContains('detail-unsubscribe-task-link', $link);
     $modelDerivationPathToItem = RuntimeUtil::getModelDerivationPathToItem('User');
     foreach ($task->notificationSubscribers as $index => $notificationSubscriber) {
         $user = $notificationSubscriber->person->castDown(array($modelDerivationPathToItem));
         if ($user->id == Yii::app()->user->userModel->id) {
             $task->notificationSubscribers->remove($notificationSubscriber);
         }
     }
     $task->save();
     $link = TasksUtil::getDetailSubscriptionLink($task, 0);
     $this->assertContains('detail-subscribe-task-link', $link);
 }
 /**
  * Renders notification subscribers
  * @param string $form
  * @return string
  */
 protected function renderNotificationSubscribersContent()
 {
     $task = Task::getById($this->model->id);
     $content = '<div id="task-subscriber-box">';
     $content .= ZurmoHtml::tag('h4', array(), Zurmo::t('TasksModule', 'Who is receiving notifications'));
     $content .= '<div id="subscriberList" class="clearfix">';
     if ($task->notificationSubscribers->count() > 0) {
         $content .= TasksUtil::getTaskSubscriberData($task);
     }
     $content .= TasksUtil::getDetailSubscriptionLink($task, 0);
     $content .= '</div>';
     $content .= '</div>';
     TasksUtil::registerSubscriptionScript($this->model->id);
     TasksUtil::registerUnsubscriptionScript($this->model->id);
     return $content;
 }