Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa
| | |
| | | @GeneratedValue(strategy = GenerationType.IDENTITY) |
| | | private Long id; |
| | | private String name; |
| | | private String useFlag; |
| | | |
| | | @Enumerated(EnumType.STRING) |
| | | private CustomFieldType customFieldType; |
| | |
| | | @OneToMany(mappedBy = "customField", cascade = {CascadeType.ALL}, orphanRemoval = true) |
| | | private Set<IssueCustomFieldValue> issueCustomFieldValues = new HashSet<>(); |
| | | |
| | | private String useFlag; |
| | | |
| | | public CustomField() { |
| | | } |
| | |
| | | public void setIssueCustomFieldValues(Set<IssueCustomFieldValue> issueCustomFieldValues) { |
| | | this.issueCustomFieldValues = issueCustomFieldValues; |
| | | } |
| | | |
| | | public String getUseFlag() { |
| | | return useFlag; |
| | | } |
| | | |
| | | public void setUseFlag(String useFlag) { |
| | | this.useFlag = useFlag; |
| | | } |
| | | } |
| | |
| | | public static final String USER_STATUS_ACTIVE = "01"; // 사용자 활성 |
| | | public static final String USER_STATUS_DEL = "02"; // 사용자 탈퇴 |
| | | public static final String DEFAULT_PROFILE = "assets/images/default_profile.png"; // 기본 프로필 |
| | | public static final String DEFAULT_RESERVATION_NOTIFY_TIME = "09:00"; // 기본 이메일 알림 예정 시간 |
| | | //public static final String DEFAULT_RESERVATION_NOTIFY_TIME = "09:00"; // 기본 이메일 알림 예정 시간 |
| | | public static final String DEFAULT_RESERVATION_NOTIFY_TIME = "false"; // 기본 이메일 알림 예정 시간 false로 변경 |
| | | public static final String DEFAULT_LANGUAGE = "ko"; // 기본 언어 |
| | | |
| | | public static final String INSERT_TYPE_NORMAL = "N"; // 추가 타입(일반) |
| | |
| | | |
| | | List<Map<String, Object>> findProjectRoleUser(Map<String, Object> projectRoleUserMap); |
| | | |
| | | Map<String, Object> findProjectManager(Long userId); |
| | | |
| | | } |
| | |
| | | |
| | | public interface CustomFieldRepository extends JpaRepository<CustomField, Long> { |
| | | |
| | | CustomField findByNameAndWorkspaceId(@Param("name") String name, @Param("workspaceId") Long workspaceId); |
| | | CustomField findByNameAndWorkspaceIdAndUseFlag(@Param("name") String name, @Param("workspaceId") Long workspaceId, @Param("useFlag") String useFlag); |
| | | |
| | | CustomField findByNameAndWorkspaceIdAndIdNot(@Param("name") String name, @Param("workspaceId") Long workspaceId, @Param("id") Long id); |
| | | CustomField findByNameAndWorkspaceIdAndIdNotAndUseFlag(@Param("name") String name, @Param("workspaceId") Long workspaceId, @Param("id") Long id, @Param("useFlag") String useFlag); |
| | | |
| | | List<CustomField> findByWorkspaceId(@Param("workspaceId") Long workspaceId); |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | List<Map<String, Object>> findProjectRoleUser(Map<String, Object> projectRoleUserMap); |
| | | |
| | | Map<String, Object> findProjectManager(Long userId); |
| | | |
| | | boolean checkProjectManager(Project project); |
| | | } |
| | |
| | | |
| | | CustomField customField; |
| | | Long workspaceId = this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId(); |
| | | |
| | | String useFlag = "Y"; |
| | | if (id == null) { |
| | | customField = this.customFieldRepository.findByNameAndWorkspaceId(name, workspaceId); |
| | | customField = this.customFieldRepository.findByNameAndWorkspaceIdAndUseFlag(name, workspaceId, useFlag); |
| | | } |
| | | else { |
| | | customField = this.customFieldRepository.findByNameAndWorkspaceIdAndIdNot(name, workspaceId, id); |
| | | customField = this.customFieldRepository.findByNameAndWorkspaceIdAndIdNotAndUseFlag(name, workspaceId, id, useFlag); |
| | | } |
| | | |
| | | if (customField != null) { |
| | |
| | | @Override |
| | | @Transactional(readOnly = true) |
| | | public CustomField findByName(String name) { |
| | | return this.customFieldRepository.findByNameAndWorkspaceId(name, this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId()); |
| | | String useFlag = "Y"; |
| | | return this.customFieldRepository.findByNameAndWorkspaceIdAndUseFlag(name, this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId(), useFlag); |
| | | } |
| | | |
| | | // 사용자 정의 필드 목록을 엑셀로 다운로드 한다. |
| | |
| | | return this.projectRoleUserMapper.findProjectRoleUser(projectRoleUserMap); |
| | | } |
| | | |
| | | // 프로젝트 관리자 조회 |
| | | @Override |
| | | @Transactional(readOnly = true) |
| | | public Map<String, Object> findProjectManager(Long userId) { |
| | | return this.projectRoleUserMapper.findProjectManager(userId); |
| | | } |
| | | |
| | | // 프로젝트 관리자 여부를 확인한다. |
| | | @Override |
| | | @Transactional(readOnly = true) |
| | |
| | | User user = this.getUser(userCondition.getId()); |
| | | userVo = ConvertUtil.copyProperties(user, UserVo.class, "password"); |
| | | userVo.setAccount(CommonUtil.decryptAES128(userVo.getAccount())); |
| | | } |
| | | |
| | | Map<String, Object> projectManagerYN = this.projectRoleUserService.findProjectManager((userCondition.getId())); |
| | | if(projectManagerYN != null){ |
| | | userVo.setProjectManagerYN(true); |
| | | } |
| | | } |
| | | resJsonData.put(Constants.RES_KEY_CONTENTS, userVo); |
| | | } |
| | | |
| | |
| | | private Integer permission; |
| | | private String licensekey; |
| | | private Long sessionActiveTime; // 클러스터링 환경에서 접속중인 사용자 관리에 사용 |
| | | private Boolean projectManagerYN = Boolean.FALSE; |
| | | |
| | | public UserVo() { |
| | | } |
| | |
| | | |
| | | public void setLastProjectId(Long id) { this.lastProjectId = id;} |
| | | |
| | | public Boolean getProjectManagerYN() { |
| | | return projectManagerYN; |
| | | } |
| | | |
| | | public void setProjectManagerYN(Boolean projectManagerYN) { |
| | | this.projectManagerYN = projectManagerYN; |
| | | } |
| | | } |
| | |
| | | AND p.id = #{id} |
| | | </select> |
| | | |
| | | <!-- 프로젝트에 관리자 조회 --> |
| | | <select id="findProjectManager" resultType="java.util.HashMap"> |
| | | SELECT |
| | | DISTINCT u.id as id, |
| | | u.name as name, |
| | | u.account as account, |
| | | u.status as status, |
| | | pr.role_type as roleType |
| | | FROM |
| | | project p |
| | | INNER JOIN project_role pr on p.id = pr.project_id |
| | | INNER JOIN project_role_user pru on pru.project_role_id = pr.id |
| | | INNER JOIN user u on u.id = pru.user_id |
| | | WHERE pr.role_type = 02 |
| | | AND u.id = #{userId} |
| | | </select> |
| | | |
| | | |
| | | </mapper> |
| | |
| | | reservationNotifyTime : "", // 이메일 알림 시간 |
| | | realtimeNotify : "", // 이메일 실시간 |
| | | profileImage : null, // 업로드하는 프로필 |
| | | profileImageName : null // 프로필 명 |
| | | profileImageName : null, // 프로필 명 |
| | | projectManagerYN : false |
| | | } |
| | | }; |
| | | |
| | |
| | | $scope.vm.form.name = result.data.data.name; |
| | | $scope.vm.form.account = result.data.data.account; |
| | | $scope.vm.form.phone = result.data.data.phone; |
| | | $scope.vm.form.projectManagerYN = result.data.data.projectManagerYN; |
| | | if(result.data.data.reservationNotifyTime === "realTime"){ |
| | | $scope.vm.form.realtimeNotify = true; |
| | | }else{ |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div ng-show="" class="row"> |
| | | <div ng-show="vm.form.projectManagerYN" class="row"> |
| | | <div class="col-sm-6"> |
| | | <div class="form-group"> |
| | | <label for="userModifyForm3"><span translate="users.setEmailNotificationTime">이메일 알림 시간 설정</span> <code class="highlighter-rouge">*</code></label> |