src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
@@ -347,7 +347,13 @@ break; case "DEPARTMENT_OPTION" : makeTag +="<select class='form-control input-sm' ng-model='data.departmentId' ng-change='event.modifyUserWorkspace(data)'><option ng-repeat='department in data.departments' ng-value='department.fieldKey'>{{::department.fieldValue}}</option></select>"; //if (scope.data.departmentId != null){ makeTag +="<select class='form-control input-sm' ng-model='data.departmentId' ng-change='event.modifyUserWorkspace(data)'><option ng-repeat='department in data.departments' ng-value='department.fieldKey'>{{::department.fieldValue}}</option></select>"; //} //else{ // makeTag +="<select class='form-control input-sm' ng-model='data.departmentId' ng-change='event.modifyUserWorkspace(data)'><option>부서를 선택 하세요.</option>" // makeTag +="<option ng-repeat='department in data.departments' ng-value='department.fieldKey'>{{::department.fieldValue}}</option></select>"; //} break; case "LEVEL_OPTION" : src/main/webapp/i18n/ko/global.json
@@ -67,6 +67,11 @@ "levelName" : "등급명", "failedLevelRegistration" : "사용자 등급 등록 실패", "failedDepartmentRegistration" : "부서 등록 실패", "notHaveDeletePermissionExistsAnLevel" : "삭제 권한이 없는 등급이 존재 합니다.", "wantToDeleteSelectLevel": "선택한 등급을 삭제하겠습니까? \n 삭제된 등급은 복구할 수 없습니다.", "wantToDeleteSelectDepartment": "선택한 부서를 삭제하겠습니까? \n 삭제된 부서는 복구할 수 없습니다.", "deleteDepartment": "부서 삭제", "deleteLevel": "등급 삭제", "read" : "읽기", "write" : "쓰기", "departmentManagement" : "부서 관리", @@ -140,7 +145,7 @@ "failedToRegularPaymentChange": "정기 결제 변경 실패", "failedToParticipationStatusChange": "참여 상태 변경 실패", "failedToSelectWorkspaceFullUserList": "업무 공간 전체 사용자 목록 조회 실패", "failedToSelectWorkspaceFullUserLevelList": "사용자 등급 목록 조회 실패", "failedToSelectWorkspaceFullLevelList": "사용자 등급 목록 조회 실패", "failedToSelectWorkspaceFullDepartmentList": "부서 목록 조회 실패", "failedToModifyUserLevel": "사용자 등급 상세 정보 조회 실패" }, @@ -159,13 +164,13 @@ "relationIssueSelect": "연관 이슈 선택", "relationIssueDelete" : "삭제", "relationIssueRemove" : "연관 이슈 삭제", "relationIssueRemoveHistory" : "연관 이슈이 삭제되었습니다.", "relationIssueAddHistory" : "연관 이슈이 추가되었습니다.", "relationIssueRemoveHistory" : "연관 이슈가 삭제되었습니다.", "relationIssueAddHistory" : "연관 이슈가 추가되었습니다.", "requireIssueTitle": "이슈 제목을 입력하세요.", "issueList": "이슈 목록", "summaryIssueActivity": "이슈 활동 내역 요약", "modifyIssues": "이슈 수정", "continueCreateIssue": "이 화면에서 이슈을 계속 생성합니다.", "continueCreateIssue": "이 화면에서 이슈를 계속 생성합니다.", "initializedAssigneeCustomField": "프로젝트를 변경하면 담당자, 사용자 정의 필드 값이 초기화 됩니다.", "setUpUsersParticipatingInProject": "프로젝트에 참여하는 사용자를 설정합니다.", "initializedIssueStatus": "이슈 유형을 변경할 경우 사용자 정의 필드, 이슈 상태가 초기화 됩니다.", @@ -179,14 +184,14 @@ "selectProjectAndIssueTypeDownloadExcel": "프로젝트, 이슈 유형을 선택하면 해당 하는 양식의 엑셀을 다운로드 할 수 있습니다.", "settingTableDisplay": "테이블 표시 설정", "deleteIssue": "이슈 삭제", "wantToDeleteSelectIssue": "선택한 이슈을 삭제하겠습니까? \n 사용자가 직접 삭제한 이슈은 어떠한 경우에도 복구가 불가능합니다.", "wantToDeleteSelectRelationIssue": "선택한 연관 이슈을 삭제하겠습니까? \n 사용자가 직접 삭제한 연관 이슈은 복구가 불가능합니다.", "wantToDeleteSelectIssue": "선택한 이슈를 삭제하겠습니까? \n 사용자가 직접 삭제한 이슈는 어떠한 경우에도 복구가 불가능합니다.", "wantToDeleteSelectRelationIssue": "선택한 연관 이슈를 삭제하겠습니까? \n 사용자가 직접 삭제한 연관 이슈는 복구가 불가능합니다.", "failedToSaveFieldConditions": "검색 필드 조건 저장 실패", "failedToGetSearchFieldCondition": "검색 필드 조건 가져오기 실패", "failedIssueLookup": "이슈 조회 실패", "selectionCheck": "선택 대상 확인", "selectIssueToChangeStatus": "상태 변경할 이슈을 선택하세요.", "notHaveDeletePermissionExistsAnIssue": "삭제 권한이 없는 이슈이 존재합니다.", "selectIssueToChangeStatus": "상태 변경할 이슈를 선택하세요.", "notHaveDeletePermissionExistsAnIssue": "삭제 권한이 없는 이슈가 존재합니다.", "failedToIssueTypeListLookup": "이슈 유형 목록 조회 실패", "failedToPriorityListLookup": "우선순위 목록 조회 실패", "failedToCriticalListLookup": "중요도 목록 조회 실패", @@ -194,7 +199,7 @@ "failedToIssueTableColumnLookup": "이슈 테이블 컬럼 조회 실패", "failedToIssueAddIssueRelation": "연관 이슈 추가 실패", "failedToIssueDeleteIssueRelation": "연관 이슈 삭제 실패", "errorSelectRelationIssue" : "연관 이슈이 선택되지 않았습니다.", "errorSelectRelationIssue" : "연관 이슈가 선택되지 않았습니다.", "capacityExceededImageFile": "이미지 파일 용량 초과", "attachedOnlyImageFiles10mb": "30MB 이하의 이미지 파일만 첨부가 가능합니다.", "attachedMultipleImageFiles100mb": "여러 건의 이미지를 한번에 첨부할 경우 300MB 이하까지만 첨부가 가능합니다.", @@ -244,7 +249,7 @@ "changedUser": "변경 사용자", "issueReservation": "이슈 발생 예약", "issueReservationType": "이슈 발생 유형", "issueReservationDescription": "이슈을 특정일에 다시 발생시킬 수 있습니다. <br />반복적으로 수행해야 할 이슈이 있을 때 유용하게 사용할 수 있습니다.", "issueReservationDescription": "이슈를 특정일에 다시 발생시킬 수 있습니다. <br />반복적으로 수행해야 할 이슈가 있을 때 유용하게 사용할 수 있습니다.", "everyDay": "매일", "everyWeek": "매주", "everyMonth": "매월", @@ -277,12 +282,12 @@ "sentToTheSelectedUser": "선택한 사용자에게 이메일이 발송되었습니다.", "failedIssueMail": "이슈 메일 발송 실패", "issueVersionLookupFailed": "이슈 버전 조회 실패", "relationIssueType1" : "다음 이슈과 관련됨", "relationIssueType1" : "다음 이슈와 관련됨", "relationIssueType2" : "다음 이슈에 중복됨", "relationIssueType3" : "다음 이슈의 해결을 막고 있음", "relationIssueType4" : "다음 이슈에게 막혀있음", "relationIssueType5" : "다음에 진행할 이슈", "relationIssueType6" : "다음 이슈을 우선 진행", "relationIssueType6" : "다음 이슈를 우선 진행", "updateIssueUser" : "이슈 담당자 변경", "normalList" : "이슈 목록", "timeLine" : "타임 라인" @@ -360,7 +365,7 @@ "failedToModifyWorkflow": "워크플로우 수정 실패", "failedToWorkflowDetails": "워크플로우 상세 정보 조회 실패", "failedToPutIssueStatus": "이슈 상태 넣기 실패", "onlyOneInTheWorkflow": "워크플로우에는 상태 속성 '대기'인 이슈은 1개만 존재해야 합니다.", "onlyOneInTheWorkflow": "워크플로우에는 상태 속성 '대기'인 이슈는 1개만 존재해야 합니다.", "removeMetastaticLine": "전이선 제거", "removeIssueStatus": "이슈 상태 제거", "limitNameToSpecialCharacters": "워크플로우 명은 특수 문자를 입력할 수 없습니다.", @@ -407,7 +412,7 @@ "typeName": "유형 이름", "modifyType": "유형 수정", "template": "템플릿", "registerAnIssueTemplate": "템플릿을 미리 작성하여 이슈을 등록할 때 내용 필드에 사용할 수 있습니다.", "registerAnIssueTemplate": "템플릿을 미리 작성하여 이슈를 등록할 때 내용 필드에 사용할 수 있습니다.", "updateWorkflowIssueStatusStandby": "워크플로우를 변경할 경우 변경하려는 워크플로우에 상태가 존재하지 않으면 이슈의 상태가 상태 속성 '대기' 인 상태로 변경됩니다.", "notHaveDeletePermissionExistsIssueType": "삭제 권한이 없는 이슈 유형이 존재합니다.", "deleteIssueType": "이슈 유형 삭제", src/main/webapp/scripts/app/workspace/levelModify.controller.js
@@ -49,7 +49,7 @@ } else { SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserLevelList"), result.data.message.message); // "사용자 등급 목록 조회 실패" SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullLevelList"), result.data.message.message); // "사용자 등급 목록 조회 실패" } }); } src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js
@@ -111,7 +111,7 @@ } else { SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserList"), result.data.message.message); // "업무 공간 전체 사용자 목록 조회 실패" SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullDepartmentList"), result.data.message.message); // 부서 목록 조회 실패 } }); } @@ -189,8 +189,8 @@ // 삭제 알림 SweetAlert.swal({ title : $filter("translate")("customField.deleteUserDefinedFields"), // "사용자 정의 필드 삭제" text : $filter("translate")("customField.wantToDeleteSelectUserDefinedFields"), // "선택한 사용자 정의 필드를 삭제하겠습니까? 삭제된 사용자 정의 필드는 복구할 수 없습니다." title : $filter("translate")("managementWorkspace.deleteDepartment"), // "부서 삭제" text : $filter("translate")("customField.wantToDeleteSelectDepartment"), // "선택한 부서를 삭제하겠습니까? 삭제된 부서는 복구할 수 없습니다." type : "warning", showCancelButton : true, confirmButtonColor : "#DD6B55", src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js
@@ -36,7 +36,6 @@ fieldValue : $filter("translate")("managementWorkspace.participation") // "참여" }, { fieldKey : "N", //fieldValue : $filter("translate")("managementWorkspace.waitForParticipation") // "참여대기" fieldValue : $filter("translate")("managementWorkspace.withdrawal") // "탈퇴" }] }; @@ -230,12 +229,18 @@ var idx = 0; angular.forEach($scope.vm.responseData.data, function (data) { // data.levelId = $scope.vm.levels[idx].fieldKey; //data.department = $scope.vm.departments[idx]; data.levels = []; data.departments = []; data.levels = $scope.vm.levels.slice(); data.departments = $scope.vm.departments.slice(); idx++; }); /*if(result.data.data[idx-1].departmentId == 0){ //console.log($scope.vm.tableConfigs); //result.data.data[idx-1].department.fieldValue = '부서를 선택 하세요.'; }*/ } else { SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserList"), result.data.message.message); // "업무 공간 전체 사용자 목록 조회 실패" @@ -260,7 +265,7 @@ }); } else { SweetAlert.swal($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserList"), result.data.message.message, "error"); // 업무 공간 전체 사용자 목록 조회 실패 SweetAlert.swal($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullLevelList"), result.data.message.message, "error"); // 용자 등급 목록 조회 실패 } deferred.resolve(result.data.data); @@ -286,7 +291,7 @@ }); } else { SweetAlert.swal($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserList"), result.data.message.message, "error"); // 업무 공간 전체 사용자 목록 조회 실패 SweetAlert.swal($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullDepartmentList"), result.data.message.message, "error"); // 부서 목록 조회 실패 } deferred.resolve(result.data.data); src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js
@@ -106,7 +106,7 @@ SweetAlert.swal({ html : true, title : $filter("translate")("common.deleteFailed"), // 삭제 실패 text : $filter("translate")("issue.notHaveDeletePermissionExistsAnIssue"), // 삭제 권한이 없는 이슈가 존재합니다. text : $filter("translate")("managementWorkspace.notHaveDeletePermissionExistsAnLevel"), // 삭제 권한이 없는 등급이 존재 합니다. type : "error" }); return; @@ -123,8 +123,8 @@ // 삭제 알림 SweetAlert.swal({ title : $filter("translate")("issue.deleteIssue"), // 이슈 삭제 text : $filter("translate")("issue.wantToDeleteSelectIssue"), // 선택한 이슈을 삭제하겠습니까? 삭제된 이슈은 복구할 수 없습니다. title : $filter("translate")("managementWorkspace.deleteLevel"), // 등급 삭제 text : $filter("translate")("managementWorkspace.wantToDeleteSelectLevel"), // 선택한 등급을 삭제하겠습니까? 사용자가 직접 삭제한 등급은 어떠한 경우에도 복구가 불가능합니다. type : "warning", showCancelButton : true, confirmButtonColor : "#DD6B55", @@ -275,7 +275,7 @@ $scope.vm.responseData = result.data; } else { SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserList"), result.data.message.message); // "사용자 등급 목록 조회 실패" SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullLevelList"), result.data.message.message); // "사용자 등급 목록 조회 실패" } }); } src/main/webapp/views/workspace/workspaceDepartmentConfig.html
@@ -1,78 +1,8 @@ <!--<div class="row" ng-controller="workspaceDepartmentConfigController"> <div class="col-lg-12"> <div class="projects-list"> <div class="project-box"> <div class="project-head"> <div class="project-title"> <h5 class="bold"> <span class="text-primary">{{vm.workspaceVo.name}}</span> <span translate="common.information">정보</span> </h5> </div> </div> <div class="project-info"> <div class="row align-items-center"> <div class="col-sm-12"> <div class="row"> <div class="col-lg-3 text-center b-r"> <div class="el-tablo highlight"> <div class="label" translate="managementWorkspace.numberOfParticipants"> 참여 가능 인원 </div> <div class="value text-danger"> {{vm.workspaceVo.maxUser}} <span translate="common.userNum">명</span> </div> </div> </div> <div class="col-lg-3 text-center b-r"> <div class="el-tablo highlight"> <div class="label" translate="managementWorkspace.participation"> 참여 </div> <div class="value text-primary"> {{vm.workspaceVo.activeUser}}<span translate="common.userNum">명</span> </div> </div> </div> <div class="col-lg-3 text-center b-r"> <div class="el-tablo highlight"> <!– <div class="label" translate="managementWorkspace.waitForParticipation"> 참여 대기 </div> –> <div class="label" translate="managementWorkspace.withdrawal"> 탈퇴 </div> <div class="value text-secondary"> {{vm.workspaceVo.standByUser}}<span translate="common.userNum">명</span> </div> </div> </div> <div class="col-lg-3 text-center"> <div class="el-tablo highlight"> <div class="label" translate="managementWorkspace.canParticipate"> 참여 가능 </div> <div class="value text-success"> {{vm.workspaceVo.includeUserCount}}<span translate="common.userNum">명</span> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>--> <div class="row" ng-controller="workspaceDepartmentConfigController"> <div class="col-lg-12"> <div class="element-box"> <div class="searchdiv"> <form name="userWorkspaceForm" role="form" ng-enter="fn.getUserWorkspaceList(0)"> <form name="userDepartmentForm" role="form" ng-enter="fn.getDepartmentList(0)"> <div class="row"> <div class="col-xl-2"> <div class="form-group"> @@ -142,7 +72,7 @@ total-items="vm.responseData.page.totalCount" ng-model="vm.page.selectedPage" max-size="10" ng-click="fn.getUserWorkspaceList(vm.page.selectedPage-1)" ng-click="fn.getDepartmentList(vm.page.selectedPage-1)" class="pagination pagination-sm" previous-text="Prev" next-text="Next" src/main/webapp/views/workspace/workspaceUserConfig.html
@@ -152,22 +152,6 @@ </label> </div> </div> <!--<div class="col-sm-6 text-right"> <div class="btn-group"> <button aria-expanded="false" aria-haspopup="true" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" type="button">추가기능 </button> <div aria-labelledby="dropdownMenuButton2" class="dropdown-menu" x-placement="bottom-start" style="position: absolute; transform: translate3d(0px, 30px, 0px); top: 0px; left: 0px; will-change: transform;"> <a class="dropdown-item" href="#"> 삭제</a> </div> </div> </div>--> </div> </div> src/main/webapp/views/workspace/workspaceUserLevelConfig.html
@@ -2,7 +2,7 @@ <div class="col-lg-12"> <div class="element-box"> <div class="searchdiv"> <form name="userWorkspaceForm" role="form" ng-enter="fn.getUserWorkspaceList(0)"> <form name="userLevelForm" role="form" ng-enter="fn.getUserLevelList(0)"> <div class="row"> <div class="col-xl-4"> <div class="form-group" style="margin-left: 50px"> @@ -13,7 +13,7 @@ <div class="col-xl-5"> <div class="form-group form-buttons-w2"> <button class="btn btn-xlg btn-navy" ng-click="fn.getUserLevelList(vm.page.selectedPage-1)"> <button class="btn btn-xlg btn-navy" ng-click="fn.getUserLevelList(0)"> <i class="os-icon os-icon-ui-37"></i> <span translate="common.search">검색</span> </button>