/**
  * 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);
 }