src/main/java/kr/wisestone/owl/constant/MsgConstants.java | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/java/kr/wisestone/owl/repository/CompanyFieldRepository.java | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/resources/migration/V1_12__Alter_Table.sql | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/i18n/ko/global.json | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/scripts/components/utils/autoComplete.controller.js | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/views/companyField/companyFieldAdd.html | ●●●●● 패치 | 보기 | raw | blame | 히스토리 |
src/main/java/kr/wisestone/owl/constant/MsgConstants.java
@@ -225,6 +225,8 @@ public static final String COMPANY_REMOVE_NOT_SELECT = "COMPANY_REMOVE_NOT_SELECT"; // 삭제할 업체가 선택되지 않았습니다. public static final String COMPANYFIELD_NOT_EXIST = "COMPANYFIELD_NOT_EXIST"; // 업체가 존재하지 않습니다. public static final String COMPANYFIELD_NOT_URL = "COMPANYFIELD_NOT_URL"; // URL이 입력되지 않았습니다. public static final String COMPANYFIELD_USED_URL = "COMPANYFIELD_USED_URL"; // URL이 이미 사용되고 있습니다. public static final String HOSTING_NOT_EXIST = "HOSTING_NOT_EXIST"; // 호스팅이 존재하지 않습니다. public static final String HOSTING_REMOVE_NOT_SELECT = "HOSTING_REMOVE_NOT_SELECT"; // 삭제할 호스팅이 선택되지 않았습니다. src/main/java/kr/wisestone/owl/repository/CompanyFieldRepository.java
@@ -2,7 +2,10 @@ import kr.wisestone.owl.domain.CompanyField; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.repository.query.Param; public interface CompanyFieldRepository extends JpaRepository<CompanyField, Long> { CompanyField findByUrl(@Param("url") String url); } src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java
@@ -1,9 +1,11 @@ package kr.wisestone.owl.service.impl; import kr.wisestone.owl.domain.CompanyField; import kr.wisestone.owl.domain.CustomField; import kr.wisestone.owl.service.UserService; import kr.wisestone.owl.web.condition.CompanyFieldCondition; import kr.wisestone.owl.web.form.CompanyFieldForm; import org.apache.commons.lang3.StringUtils; import org.springframework.ui.Model; import com.google.common.collect.Lists; import kr.wisestone.owl.common.ExcelConditionCheck; @@ -57,9 +59,26 @@ // 업체 추가 @Override public CompanyField addCompany(CompanyFieldForm companyFieldForm) { // url 유효성 체크 this.verifyUrl(companyFieldForm.getUrl()); CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class); companyFieldRepository.saveAndFlush(companyField); return companyField; } // url 유효성 체크 private void verifyUrl(String url) { if (StringUtils.isEmpty(url)) { throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_NOT_URL)); } CompanyField companyField = this.companyFieldRepository.findByUrl(url); if (companyField != null) { throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_USED_URL)); } } // 업체 목록을 가져온다. @@ -92,6 +111,9 @@ // 업체 정로를 수정한다. @Override public void modifyCompany(CompanyFieldForm companyFieldForm) { // url 유효성 체크 this.verifyUrl(companyFieldForm.getUrl()); CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class); companyFieldRepository.saveAndFlush(companyField); } src/main/resources/migration/V1_12__Alter_Table.sql
@@ -1,13 +1,17 @@ -- 필수 데이터 여부 ALTER TABLE `custom_field` ADD COLUMN `required_data` VARCHAR(1) NOT NULL DEFAULT 'N'; -- 도메인 항목 추가 -- url 항목 추가 ALTER TABLE `company_field` ADD COLUMN `url` VARCHAR(255) NULL; ALTER TABLE `isp_field` ADD COLUMN `url` VARCHAR(255) NULL; ALTER TABLE `hosting_field` ADD COLUMN `url` VARCHAR(255) NULL; -- 자동 완료 상태 추가 ALTER TABLE `issue_type` ADD COLUMN `complete_issue_status_id` BIGINT(20) NULL; ALTER TABLE `issue_company` ADD COLUMN `url` VARCHAR(255) NULL; ALTER TABLE `issue_isp` ADD COLUMN `url` VARCHAR(255) NULL; ALTER TABLE `issue_hosting` ADD COLUMN `url` VARCHAR(255) NULL; -- 자동 완료 상태 추가 ALTER TABLE `issue_type` ADD COLUMN `complete_issue_status_id` BIGINT(20) NULL; -- 업체의 url 컬럼 INDEX 추가 ALTER TABLE `company_field` ADD INDEX `urlIndex`(`url`); src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties
@@ -206,4 +206,6 @@ DEPARTMENT_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uBD80\uC11C\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. COMPANY_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uC5C5\uCCB4\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. COMPANYFIELD_NOT_EXIST = \uC5C5\uCCB4\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. COMPANYFIELD_NOT_EXIST = \uC5C5\uCCB4\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. COMPANYFIELD_NOT_URL = URL\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. COMPANYFIELD_USED_URL = URL\uC774 \uC774\uBBF8 \uC0AC\uC6A9\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4. src/main/webapp/i18n/ko/global.json
@@ -816,7 +816,7 @@ "emptyUser": "선택할 수 있는 사용자가 없습니다.", "emptyProject": "선택할 수 있는 프로젝트가 없습니다.", "emptyDepartment": "선택할 수 있는 부서가 없습니다.", "emptyProjectDepartment": "선택할 수 있는 부서가 없습니다. <br> 프로젝트 설정에서 담당부서를 설정하거나,<br> 부서를 추가 해주세요", "emptyProjectDepartment": "선택할 수 있는 부서가 없습니다. <br> 워크플로우에서 담당부서를 설정하거나,<br> 부서를 추가 해주세요", "noDepartment": "담당부서가 없습니다.", "emptyCompany": "선택할 수 있는 업체가 없습니다.", "emptyIssue": "선택할 수 있는 이슈가 없습니다.", src/main/webapp/scripts/components/utils/autoComplete.controller.js
@@ -315,7 +315,15 @@ function getIssueDepartmentList(query, excludeList, page, callBack) { var conditions = { //issueTypeId : $scope.vm.form.issueTypeId, issueTypeId : $rootScope.currentDetailIssueId, issueTypeId : (function () { var issueTypeId = ""; if ($rootScope.currentDetailIssueId != null) { issueTypeId = $rootScope.currentDetailIssueId; } else { issueTypeId = $scope.vm.form.issueTypeId; } return issueTypeId; })(), departmentName : query, userId : $rootScope.user.id, projectId : (function () { src/main/webapp/views/companyField/companyFieldAdd.html
@@ -166,6 +166,7 @@ <div class="form-group"> <label for="companyFieldAddForm10" class="issue-label"> <span translate="companyField.url">url</span> <code class="highlighter-rouge">*</code> </label> <input id="companyFieldAddForm10" name="url" @@ -176,6 +177,7 @@ ng-model="vm.form.url" ng-maxlength="200" maxlength="200" required > </div> </div>