/** * Revoke all of an employee's rights and send emails to the appropriate groups. * NOTE: Permissions should be checked prior to calling this function. * * @return * { * "sent" => array(right models), * "failed" => array(right models), * "manual" => array(right models) * } */ public function revokeAll($netId, $manager) { $rightStatuses = $this->rightStatusAcc->revokeAll($netId, $manager); $employee = $this->employeeAcc->get($netId); $results = array("sent" => array(), "failed" => array(), "manual" => array()); foreach ($rightStatuses as $rightStatus) { $right = $this->rightAcc->get($rightStatus->rightID); if (!$right->ID) { continue; } if ($right->rightType == "EMAIL") { $email = $this->rightEmailAcc->getByRight($right->ID, false); $email->message .= "\n\n\tName: {$employee->firstName} {$employee->lastName}" . "\n\n\tNet ID: {$employee->netID}" . "\n\n\tBYU ID: {$employee->byuIDnumber}"; try { $emailCtrl = new \TMT\controller\EmailHandler($email); } catch (\TMT\exception\EmailException $e) { $results['failed'][] = $right; continue; } if ($emailCtrl->sendEmail()) { $results["sent"][] = $right; } else { $results["failed"][] = $right; } } else { $results["manual"][] = $right; } } return $results; }
/** * @covers ::__construct * @covers ::processEmail */ public function testConstructWithArrays() { $email = new \TMT\model\Email((object) array("recipients" => array("*****@*****.**", "*****@*****.**", "*****@*****.**"), "subject" => "Testing", "message" => "This is a test message", "cc" => array("*****@*****.**", "*****@*****.**"), "bcc" => array("*****@*****.**", "*****@*****.**"))); $handler = new \TMT\controller\EmailHandler($email); $result = $handler->getEmail(); $this->assertEquals("test1@byu.edu, test2@byu.edu, test3@byu.edu", $result->recipients); $this->assertEquals("test4@byu.edu,test5@byu.edu", $result->cc); $this->assertEquals("test6@byu.edu,test7@byu.edu", $result->bcc); }