Ejemplo n.º 1
0
  public function addEmployeeToDepartment(){
    $app = JFactory::getApplication();
    $user = JFactory::getUser();
    $isRoot = $user->authorise('core.admin');

    $input = $app->input;
    header('Content-Type: application/json');

    //Only Authorised users can add departments.
    if ($user->get('guest') == 1)
    {
      echo json_encode(array("success"=>false, 'message'=>'Вы должны авторизироваться.'));
      JFactory::getApplication()->close();
      return;
    }


    //OK now get request parameters
    $employeeId = $input->getInt('employeeId');
    $departmentId = $input->getInt('departmentId');
    $position = $_POST['position'];
    //Check if department exists
    $department = Departments::getDepartment($departmentId);
    if($department==null){
      echo json_encode(array("success"=>false, 'message'=>'Такого отделения не существует.'));
      JFactory::getApplication()->close();
      return;
    }
    //Now check if this user has access rights to perform this operation
    if(!($isRoot || $user->get('id')==$department->profile_id || $user->get('id') == $employeeId)){
      echo json_encode(array("success"=>false, 'message'=>'У вас недостаточно прав для выполнения операции.'));
      JFactory::getApplication()->close();
      return;
    }

    //Check if user is already linked to department
    if(Departments::isUserLinkedToDepartment($employeeId, $departmentId)){
      echo json_encode(array("success"=>false, 'message'=>'Пользователь уже добавлен.'));
      JFactory::getApplication()->close();
      return;
    }
    //OK now we can add user to department

    Departments::addUserToDepartment($employeeId, $departmentId, $position);

    $result = array('success'=>true, 'message'=>'Пользователь добавлен',
      'departments'=>DepartmentsView::renderDepartments(Departments::getDepartments($department->profile_id ),$department->profile_id ,$user, $isRoot));
    echo json_encode( $result );
    JFactory::getApplication()->close();
  }