/** * Task has been assigned to the user * * @param ProjectTask $task * @return boolean * @throws NotifierConnectionError */ function taskAssigned(ProjectTask $task) { if ($task->isCompleted()) { return true; // task has been already completed... } // if if (!$task->getAssignedTo() instanceof User) { return true; // not assigned to user } // if /* Checks for assigned to user, to call SMS API */ if ($task->getAssignedTo() instanceof User) { $user = $task->getAssignedTo(); $phone_num = Users::getPhoneNumberCustomProperty($user->getObjectId()); $sms_obj = new SmsController(); $sms_obj->prepareAssignSms($user->getDisplayName(), $task->getTitle(), get_class($task)); $sms_obj->sendSms($phone_num); } else { if ($task->getAssignedTo() instanceof Company) { // Skipping implementation until business requirement is clear } } // GET WS COLOR $workspace_color = $task->getWorkspaceColorsCSV(logged_user()->getWorkspacesQuery()); tpl_assign('task_assigned', $task); tpl_assign('workspace_color', $workspace_color); $locale = $task->getAssignedTo()->getLocale(); Localization::instance()->loadSettings($locale, ROOT . '/language'); if ($task->getDueDate() instanceof DateTimeValue) { $date = Localization::instance()->formatDescriptiveDate($task->getDueDate(), $task->getAssignedTo()->getTimezone()); tpl_assign('date', $date); } self::queueEmail(array(self::prepareEmailAddress($task->getAssignedTo()->getEmail(), $task->getAssignedTo()->getDisplayName())), self::prepareEmailAddress($task->getUpdatedBy()->getEmail(), $task->getUpdatedByDisplayName()), lang('task assigned to you', $task->getTitle(), $task->getProject() instanceof Project ? $task->getProject()->getName() : ''), tpl_fetch(get_template_path('task_assigned', 'notifier'))); // send $locale = logged_user() instanceof User ? logged_user()->getLocale() : DEFAULT_LOCALIZATION; Localization::instance()->loadSettings($locale, ROOT . '/language'); }