public void disapproveRequest(UserRequest userRequest, Person evaluator) {
   RequestEvaluation requestEvaluation = new RequestEvaluation();
   requestEvaluation.setPerson(evaluator);
   requestEvaluation.setRequest(userRequest);
   requestEvaluation.setEvaluationDate(new Date());
   userRequest.setStatus(Constants.DISAPPROVED);
   this.insertRequestEvaluation(requestEvaluation);
   this.updateUserRequest(userRequest);
 }
 public void approveRequest(UserRequest request, Person evaluator) {
   RequestEvaluation requestEvaluation = new RequestEvaluation();
   requestEvaluation.setPerson(evaluator);
   requestEvaluation.setRequest(request);
   requestEvaluation.setEvaluationDate(new Date());
   request.setStatus(Constants.APPROVED);
   this.insertRequestEvaluation(requestEvaluation);
   this.updateUserRequest(request);
   if (!request.isTeachingRequest()) {
     this.approveAssistantRequest(request, evaluator);
   }
 }
 public void requestTeacherProfile(UserRequest userRequest) throws RequestException {
   List<UserRequest> results = searchTeachingRequest(userRequest.getPerson().getId());
   for (UserRequest request : results) {
     if (request.getStatus().equalsIgnoreCase("ag")) {
       throw new RequestException("errors.request.waiting");
     }
     if (request.getStatus().equalsIgnoreCase("ap")) {
       throw new RequestException("errors.request.approved");
     }
   }
   userRequest.setStatus("ag");
   insertUserRequest(userRequest);
 }
 public void requestAssistance(UserRequest userRequest) throws RequestException {
   List<UserRequest> results =
       searchRequestByUserID(userRequest.getCourse().getId(), userRequest.getPerson().getId());
   for (UserRequest request : results) {
     if (request.getStatus().equalsIgnoreCase("ag")) {
       throw new RequestException("errors.request.waiting");
     }
     if (request.getStatus().equalsIgnoreCase("ap")) {
       throw new RequestException("errors.request.approved");
     }
   }
   userRequest.setStatus("ag");
   insertUserRequest(userRequest);
 }