OWL ITS + 탐지시스템(인터넷 진흥원)
src/main/webapp/scripts/app/issue/issueAddRelation.controller.js
@@ -45,6 +45,7 @@
                    getChildSectorListCallBack : getChildSectorListCallBack,
                    getRegionListCallBack : getRegionListCallBack,
                    getStatusListCallBack : getStatusListCallBack,
                    getIssueTypeOfProject : getIssueTypeOfProject
                };
                $scope.vm = {
@@ -203,6 +204,8 @@
                        } else {
                            //  이슈 유형에 연결된 사용자 정의 필드 가져오기
                            $scope.fn.getIssueTypeCustomFields();
                            //  선택한 프로젝트에 속해있는 이슈유형만 보여주기
                            $scope.fn.getIssueTypeOfProject();
                        }
                    }
                });
@@ -434,7 +437,16 @@
                }
                // 업종(대분류) autocomplete page 업데이트
                function getParentSectorListCallBack(result) {
                function getParentSectorListCallBack(result, value) {
                    if (value === "") {
                        $scope.vm.form.parentSectorId = "";
                        if ($rootScope.isDefined($scope.vm.form.parentSectors) && $rootScope.isDefined($scope.vm.form.parentSectors[0])) {
                            $scope.vm.form.parentSectors[0].id = "";
                        }
                        $scope.vm.form.childSectorId = "";
                        $scope.vm.form.childSector = "";
                        $scope.vm.form.childSectors = [];
                    }
                    $scope.vm.autoCompletePage.parentSector.totalPage = result.data.page.totalPage;
                }
@@ -927,6 +939,39 @@
                    return deferred.promise;
                }
                //  선택한 프로젝트에 속해있는 이슈유형만 보여주기
                function getIssueTypeOfProject() {
                    var deferred = $q.defer();
                    IssueType.find($resourceProvider.getContent({projectId : $scope.vm.form.projects[0].id},
                        $resourceProvider.getPageContent(0, 1000))).then(function (result) {
                        if (result.data.message.status === "success") {
                            $scope.vm.issueTypes = result.data.data;
                            //  option 빈값 방지
                            if ($rootScope.isDefined($scope.vm.issueTypes) && $scope.vm.issueTypes.length > 0) {
                                let chk = 0;
                                angular.forEach($scope.vm.issueTypes, function (issueType) {
                                    if (issueType.id.toString() === $scope.vm.form.issueTypeId.toString()) {
                                        chk ++;
                                    }
                                });
                                if (chk === 0) {
                                    $scope.vm.form.issueTypeId = null;
                                }
                            }
                        }
                        else {
                            SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // 이슈 타입 목록 조회 실패
                        }
                        deferred.resolve(result.data.data);
                    });
                    return deferred.promise;
                }
                //  우선순위 목록
                function getPriorities() {
                    var deferred = $q.defer();
@@ -1120,6 +1165,9 @@
                            $scope.vm.projectName = $rootScope.workProject.name;
                            $scope.vm.form.projects = [];
                            $scope.vm.form.projects.push($rootScope.workProject);
                        } else {
                            $scope.vm.projectName = parameter.project.name;
                            $scope.vm.form.projects.push(parameter.project);
                        }
                        // 현재 이슈타입 유형 설정
                        var id = $rootScope.getCurrentIssueTypeId();
@@ -1128,6 +1176,10 @@
                        } else {
                            $scope.vm.form.issueTypeId = parameter.issueTypeId.toString();
                        }
                        //  프로젝트의 이슈유형 set
                        $scope.fn.getIssueTypeOfProject();
                        // 이슈유형, 프로젝트 set 한 후에 사용자정의필드 set
                        $scope.fn.getIssueTypeCustomFields();
                        $log.debug("promises 결과 ", results);
                    });
                }