/** * Milestone has been assigned to the user * * @param ProjectMilestone $milestone * @return boolean * @throws NotifierConnectionError */ function milestoneAssigned(ProjectMilestone $milestone) { if ($milestone->isCompleted()) { return true; // milestone has been already completed... } // if if (!$milestone->getAssignedTo() instanceof User) { return true; // not assigned to user } // if // GET WS COLOR $workspace_color = $milestone->getWorkspaceColorsCSV(logged_user()->getWorkspacesQuery()); tpl_assign('milestone_assigned', $milestone); tpl_assign('workspace_color', $workspace_color); if (!$milestone->getCreatedBy() instanceof User) { return; } $locale = $milestone->getAssignedTo()->getLocale(); Localization::instance()->loadSettings($locale, ROOT . '/language'); if ($milestone->getDueDate() instanceof DateTimeValue) { $date = Localization::instance()->formatDescriptiveDate($milestone->getDueDate(), $milestone->getAssignedTo()->getTimezone()); tpl_assign('date', $date); } return self::queueEmail(array(self::prepareEmailAddress($milestone->getAssignedTo()->getEmail(), $milestone->getAssignedTo()->getDisplayName())), self::prepareEmailAddress($milestone->getCreatedBy()->getEmail(), $milestone->getCreatedByDisplayName()), lang('milestone assigned to you', $milestone->getName(), $milestone->getProject() instanceof Project ? $milestone->getProject()->getName() : ''), tpl_fetch(get_template_path('milestone_assigned', 'notifier'))); // send $locale = logged_user() instanceof User ? logged_user()->getLocale() : DEFAULT_LOCALIZATION; Localization::instance()->loadSettings($locale, ROOT . '/language'); }