protected function getParamsForEmailSubject() { assert('$this->model instanceof Task'); $relatedModelStringValue = TasksUtil::resolveFirstRelatedModelStringValue($this->model); if ($relatedModelStringValue != null) { $relatedModelStringValue = '(' . $relatedModelStringValue . ')'; } $params = array('{task}' => strval($this->model), '{relatedModel}' => $relatedModelStringValue); return $params; }
/** * Gets email subject for the notification * @param Task $task * @param $action * @return string */ public static function getTaskEmailSubject(Task $task, $action) { assert('$task instanceof Task'); $relatedModelStringValue = TasksUtil::resolveFirstRelatedModelStringValue($task); if ($relatedModelStringValue != null) { $relatedModelStringValue = '(' . $relatedModelStringValue . ')'; } $params = array('{task}' => strval($task), '{relatedModel}' => $relatedModelStringValue); if ($action == self::TASK_NEW) { return Zurmo::t('TasksModule', 'ASSIGNMENT {relatedModel}: {task}', $params); } elseif ($action == self::TASK_STATUS_BECOMES_AWAITING_ACCEPTANCE) { return Zurmo::t('TasksModule', 'DELIVERED {relatedModel}: {task}', $params); } elseif ($action == self::TASK_STATUS_BECOMES_COMPLETED) { return Zurmo::t('TasksModule', 'ACCEPTED {relatedModel}: {task}', $params); } elseif ($action == self::TASK_STATUS_BECOMES_REJECTED) { return Zurmo::t('TasksModule', 'REJECTED {relatedModel}: {task}', $params); } elseif ($action == self::TASK_OWNER_CHANGE) { return Zurmo::t('TasksModule', 'ASSIGNMENT {relatedModel}: {task}', $params); } elseif ($action == self::TASK_NEW_COMMENT) { return Zurmo::t('TasksModule', 'NEW COMMENT {relatedModel}: {task}', $params); } }
/** * @covers resolveFirstRelatedModel * @covers resolveFirstRelatedModelStringValue * @covers castDownActivityItem */ public function testResolveFirstRelatedModelForProject() { Yii::app()->user->userModel = User::getByUsername('super'); $project = ProjectTestHelper::createProjectByNameForOwner('MyRelatedProject', Yii::app()->user->userModel); $dueStamp = DateTimeUtil::convertTimestampToDbFormatDateTime(time() + 10000); $task = new Task(); $task->name = 'MyFirstRelatedTask'; $task->dueDateTime = $dueStamp; $task->project = $project; $this->assertTrue($task->save()); $id = $task->id; unset($task); $task = Task::getById($id); $model = TasksUtil::resolveFirstRelatedModel($task); $this->assertEquals('MyRelatedProject', $model->name); $content = TasksUtil::resolveFirstRelatedModelStringValue($task); $this->assertEquals('MyRelatedProject', $content); }