| | |
| | | import kr.wisestone.owl.util.*; |
| | | import kr.wisestone.owl.vo.*; |
| | | import kr.wisestone.owl.web.condition.UserCondition; |
| | | import kr.wisestone.owl.web.form.DepartmentManageForm; |
| | | import kr.wisestone.owl.web.form.UserForm; |
| | | import kr.wisestone.owl.web.view.ExcelView; |
| | | import org.apache.commons.validator.routines.EmailValidator; |
| | |
| | | |
| | | @Autowired |
| | | private UserRepository userRepository; |
| | | |
| | | @Autowired |
| | | private UserLevelService userLevelService; |
| | | |
| | | @Autowired |
| | | private DepartmentManageService departmentManageService; |
| | | |
| | | @Autowired |
| | | private SystemRoleService systemRoleService; |
| | |
| | | user.setAccount(CommonUtil.encryptAES128(userForm.getAccount())); |
| | | user.setPassword(this.passwordEncoder.encode(user.getPassword())); |
| | | |
| | | this.userRepository.saveAndFlush(user); |
| | | //this.userLevelRepository.saveAndFlush(user); |
| | | //userLevelRepository.saveAndFlush(user); |
| | | |
| | | // 프로필 파일이 유효한지 체크한다. |
| | | this.verifyProfile(profile); |
| | |
| | | |
| | | this.userInviteService.includePrimaryWorkspace(user, primaryWorkspace); |
| | | |
| | | UserLevel userLevel = this.userLevelService.getBasicUserLevel(); |
| | | user.setUserLevel(userLevel); |
| | | |
| | | // edit by zenith for permission at 20200803 |
| | | user.setPermission(MngPermission.USER_PERMISSION_MNG_NONE); |
| | | /*user.setPermission(MngPermission.USER_PERMISSION_MNG_NONE);*/ |
| | | |
| | | } else if(validAdmin == 1) { // 라이센스 입력 관리자 |
| | | Workspace primaryWorkspace = this.workspaceService.getPrimaryWorkspace(); |
| | | |
| | | UserLevel userLevel = this.userLevelService.addSuperUserLevel(); |
| | | user.setUserLevel(userLevel); |
| | | |
| | | this.userLevelService.addNormalAdminUserLevel(); |
| | | |
| | | this.userLevelService.addNormalUserLevel(); |
| | | |
| | | // DepartmentManage에 임시로 Name, Description 값 추가 |
| | | DepartmentManageForm departmentManageForm = new DepartmentManageForm(); |
| | | |
| | | departmentManageForm.setDepartmentName("개발팀"); |
| | | departmentManageForm.setDepartmentDescription("웹사이트 및 앱 서비스 개발"); |
| | | DepartmentManage departmentManage = this.departmentManageService.addDepartmentManage(departmentManageForm); |
| | | user.setDepartmentManage(departmentManage); |
| | | |
| | | if(primaryWorkspace == null || primaryWorkspace.getName() != userForm.getWorkspaceName()) { |
| | | // 업무 공간를 생성한다. 가입한 사용자는 업무 공간의 주인이다. |
| | |
| | | user.setLastWorkspaceId(workspace.getId()); |
| | | |
| | | // edit by zenith for permission at 20200803 |
| | | user.setPermission(MngPermission.makeAllPermission()); |
| | | //user.setPermission(MngPermission.makeAllPermission()); |
| | | } else { |
| | | this.userInviteService.includePrimaryWorkspace(user, primaryWorkspace); |
| | | user.setLastWorkspaceId(primaryWorkspace.getId()); |
| | | |
| | | user.setPermission(MngPermission.makeSubAllPermission()); |
| | | /*user.setPermission(MngPermission.makeSubAllPermission());*/ |
| | | } |
| | | } |
| | | this.userRepository.saveAndFlush(user); |
| | | |
| | | // 이메일 알림 예정 시간이 공백이면 디폴트 이메일 알림 예정 시간으로 설정한다. |
| | | user.setReservationNotifyTime(User.DEFAULT_RESERVATION_NOTIFY_TIME); |
| | | this.userRepository.saveAndFlush(user); |
| | | |
| | | // 초대받은 메일이 있는 사용자가 가입했으면 초대했을 때 선택한 프로젝트에 참여 시킨다. |
| | | this.userInviteService.checkInviteUser(user); |
| | |
| | | this.userRepository.saveAndFlush(user); |
| | | } |
| | | |
| | | // 마지막으로 선택한 프로젝트 정보를 저장한다. |
| | | // 삭제 할 등급명을 유저가 사용하고 있는지 확인 |
| | | @Override |
| | | public boolean useUserLevel(Long levelId) { |
| | | return this.userMapper.findByLevelId(levelId) > 0; |
| | | } |
| | | |
| | | // 마지막으로 선택한 프로젝트 정보를 저장한다. |
| | | @Override |
| | | @Transactional |
| | | public void updateLastProject(Map<String, Object> resJsonData, UserForm userForm) { |
| | |
| | | @Override |
| | | @Transactional(readOnly = true) |
| | | public List<User> findAdmin() { |
| | | return this.userRepository.findAdmin(); |
| | | return this.userRepository.findAdmin(MngPermission.makeAllPermission()); |
| | | } |
| | | |
| | | // 해당 사용자가 관리하는 업무 공간을 마지막으로 접근한 업무 공간 정보로 업데이트한다. |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | // 업무 공간에서 제외되거나 업무 공간 삭제시 참여 사용자들의 마지막 접근 업무 공간 정보로 세션 업데이트하기 위해 사용 |
| | | @Override |
| | | @Transactional(readOnly = true) |
| | |
| | | @Transactional(readOnly = true) |
| | | public User getUserSession(Map<String, Object> resJsonData, HttpServletRequest httpServletRequest) { |
| | | User user = this.getUser(this.webAppUtil.getLoginId()); |
| | | UserVo userVo = ConvertUtil.copyProperties(user, UserVo.class, "password"); |
| | | UserVo userVo = ConvertUtil.copyProperties(user, UserVo.class, "password","permission"); // wyu - ignores permission ?? |
| | | // user에서 Permission 값을 가져와서 userVo 에 setPermission 함 |
| | | userVo.setPermission(user.getPermission()); |
| | | userVo.setAccount(CommonUtil.decryptAES128(userVo.getAccount())); |
| | | resJsonData.put(Constants.RES_KEY_CONTENTS, userVo); |
| | | // 사용자 세션 정보를 분석해서 로그에 남긴다. |