/** * @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; }