Пример #1
0
 /**
  * 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');
 }