From 8bc9d4b21b179710a4a959d5b3472e17fc9aded7 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 화, 28 12월 2021 11:37:55 +0900 Subject: [PATCH] 하위이슈 권한 없는데 삭제 버튼 생기는 문제 해결 --- src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js | 117 ++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 89 insertions(+), 28 deletions(-) diff --git a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js index d78036d..d881a4f 100644 --- a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js +++ b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js @@ -37,12 +37,12 @@ if (tableConfig.dType === "checkbox") { // 泥댄겕 諛뺤뒪�씪�븣 - if (scope.data.defaultYn) { + /*if (scope.data.defaultYn) { makeTag += '<input type="checkbox" ng-checked="data.checked == true ? true : false" disabled ng-click="$root.$tableProvider.rowChecked(tableConfigs, data, fn.getResponseData())">'; } - else { + else {*/ makeTag += '<input type="checkbox" ng-checked="data.checked == true ? true : false" ng-click="$root.$tableProvider.rowChecked(tableConfigs, data, fn.getResponseData())">'; - } + //} tableConfig.hChecked = false; } @@ -74,10 +74,14 @@ // �봽濡쒖젥�듃 �씠由�(�봽濡쒖젥�듃 由ъ뒪�듃�뿉�꽌 �궗�슜) case "PROJECT_NAME" : - if ($rootScope.workProject != null && $rootScope.workProject.id == scope.data.id) { - makeTag += "<span class='titlenameSelect cursor table-word-break-all sub-line' ng-click='event.changeLastProject(data.id)'>" + myToken + scope.data.name.replace(/</gi, '<') + "</span>"; - } else { - makeTag += "<span class='titlename cursor table-word-break-all sub-line' ng-click='event.changeLastProject(data.id)'>" + myToken + scope.data.name.replace(/</gi, '<') + "</span>"; + if (!scope.data.parentYn) { + if ($rootScope.workProject != null && $rootScope.workProject.id == scope.data.id) { + makeTag += "<span class='titlenameSelect cursor table-word-break-all sub-line' ng-click='event.changeLastProject(data.id)'>" + myToken + scope.data.name.replace(/</gi, '<') + "</span>"; + } else { + makeTag += "<span class='titlename cursor table-word-break-all sub-line' ng-click='event.changeLastProject(data.id)'>" + myToken + scope.data.name.replace(/</gi, '<') + "</span>"; + } + }else { + makeTag += "<span class='titlename cursor table-word-break-all sub-line'>" + myToken + scope.data.name.replace(/</gi, '<') + "</span>"; } break; @@ -151,17 +155,18 @@ case "USE_DEPARTMENT_LIST" : makeTag += "<ul class='ul-not-comma'>"; - - if(scope.data.departmentVos != null && scope.data.departmentVos.length == 0){ //�냽�빐�엳�뒗 遺��꽌媛� �뾾�쓣 寃쎌슦 - makeTag += "<div style='cursor: pointer; color: #0066ff'' ng-click='event.modifyUserDepartments(data.id, data.userId)'>遺��꽌瑜� �꽑�깮�빐 二쇱꽭�슂.</div>"; - }else{ - makeTag += "<div style='cursor: pointer; color: #0066ff'' ng-click='event.modifyUserDepartments(data.id, data.userId)'>"; - angular.forEach(scope.data.departmentVos, function (departments) { - makeTag += "<li>" + departments.departmentName + "</li>"; - }); - makeTag += "</div>"; + if (scope.data.managerYn !== 'Y'){ + if(scope.data.departmentVos != null && scope.data.departmentVos.length == 0){ //�냽�빐�엳�뒗 遺��꽌媛� �뾾�쓣 寃쎌슦 + makeTag += "<div style='cursor: pointer; color: #0066ff' ng-click='event.modifyUserDepartments(data.id, data.userId)'>遺��꽌瑜� �꽑�깮�빐 二쇱꽭�슂.</div>"; + }else{ + makeTag += "<div style='cursor: pointer; color: #0066ff' ng-click='event.modifyUserDepartments(data.id, data.userId)'>"; + angular.forEach(scope.data.departmentVos, function (departments) { + makeTag += "<li>" + departments.departmentName + "</li>"; + }); + makeTag += "</div>"; + } + makeTag += "</ul>"; } - makeTag += "</ul>"; break; case "WORKFLOW_DEPARTMENT_LIST" : @@ -195,7 +200,7 @@ // �븯�쐞�씠�뒋 移댁슫�듃 case "DOWN_ISSUE_COUNT" : - makeTag += '<span>' + scope.data.downIssueCount + ' / ' + scope.data.downIssueAllCount + '</span>'; + makeTag += '<span ng-click="event.changeDetailView(data.id)" class="ul-not-comma cursor">' + scope.data.downIssueCount + ' / ' + scope.data.downIssueAllCount + '</span>'; break; // �봽濡쒖젥�듃 湲곌컙 �몴�떆 @@ -241,7 +246,9 @@ // �뿰愿��씠�뒋 �궘�젣 case "ISSUE_RELATION_DELETE": - makeTag += '<img class="cursor" src="/assets/images/delete-icon.png" ng-click="event.removeRelationIssue(data.id)">'; + if (scope.data.modifyPermissionCheck) { + makeTag += '<img class="cursor" src="/assets/images/delete-icon.png" ng-click="event.removeRelationIssue(data.id)">'; + } break; // �뿰愿� �씠�뒋 �슦�꽑�닚�쐞 @@ -312,7 +319,9 @@ // �븯�쐞 �씠�뒋 �궘�젣 case "ISSUE_DOWN_DELETE": - makeTag += '<img class="cursor" src="/assets/images/delete-icon.png" ng-click="event.removeDownIssue(data.id)">'; + if (scope.data.modifyPermissionCheck) { + makeTag += '<img class="cursor" src="/assets/images/delete-icon.png" ng-click="event.removeDownIssue(data.id)">'; + } break; // �븯�쐞 �씠�뒋 �슦�꽑 �닚�쐞 @@ -424,8 +433,10 @@ makeTag += '<span class="number-tag">' + scope.data.projectKey + ' - ' + scope.data.issueNumber + '</span>'; makeTag += ' <span class="tag"> / </span> '; makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.issueStatusColor + "\"," + "\"border-color\"" + " : \"" + scope.data.issueStatusColor + "\", \"color\": \"#FFFFFF\" }'>" + scope.data.issueStatusName + "</span>"; - makeTag += '<span class="tag"> / </span> '; - makeTag += '<span class="tag">' +'<span>API: </span>' + scope.data.isApi + '</span>'; + if (scope.data.isApi === 'Y') { + makeTag += '<span class="tag"> / </span> '; + makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"#EF8D9A" + "\"," + "\"border-color\"" + " : \"#EF8D9A" + "\", \"color\": \"#FFFFFF\" }'>" + "<span>API</span>" + "</span>"; + } makeTag += '</div>'; makeTag += '<div class="titlename cursor text-left" ng-click="event.changeDetailView(data.id)">' + scope.data.title.replace(/</gi, '<') + '</div>'; makeTag += '<div class="extra-infodiv text-left">'; @@ -450,6 +461,11 @@ makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='badge cursor' ng-style='{ \"background-color\" : \"" + scope.data.severityColor + "\"," + "\"border-color\"" + " : \"" + scope.data.severityColor + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.severityName + "'></span>"; break; + // �씠�뒋 �쑀�삎 + case "COMMON_ISSUE_TYPE" : + makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='cursor' translate='" + scope.data.issueTypeName + "'></span>"; + break; + // �떞�떦 遺��꽌 case "ISSUE_DEPARTMENT" : makeTag += "<ul ng-click=\"event.changeDetailView(data.id)\" class='ul-not-comma cursor'>"; @@ -467,9 +483,48 @@ break; // �벑濡앹옄 - case "REGISTER" : + /* case "REGISTER" : scope.data.registerVos = [scope.data.registerVo]; makeTag += '<div ng-click=\"event.changeDetailView(data.id)\" owl-profile-over class="cursor" table-user-image="data" target="registerVos"></div>'; + break;*/ + + case "REGISTER" : + scope.data.registerVos = [scope.data.registerVo]; + makeTag += "<ul ng-click=\"event.changeDetailView(data.id)\" class='ul-not-comma cursor'>"; + makeTag += "<div style='color: #000000'>"; + angular.forEach(scope.data.registerVos, function (registers) { + makeTag += "<li class='titlenameRegister cursor'>" + registers.name + "</li>"; + makeTag += "<li class='titlenameAccount cursor'>" + registers.account + "</li>"; + }); + makeTag += "</div>"; + makeTag += "</ul>"; + break; + + // �뾽泥� + case "USE_COMPANY" : + if (scope.data.companyName !== null) { + makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='cursor' translate='" + scope.data.companyName + "'></span>"; + }else { + makeTag += "<span></span>"; + } + break; + + // ISP + case "USE_ISP" : + if (scope.data.ispName !== null) { + makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='cursor' translate='" + scope.data.ispName + "'></span>"; + }else { + makeTag += "<span></span>"; + } + break; + + // �샇�뒪�똿 + case "USE_HOSTING" : + if (scope.data.ispName !== null) { + makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='cursor' translate='" + scope.data.hostingName + "'></span>"; + }else { + makeTag += "<span></span>"; + } break; case "WORKFLOW_NAME": @@ -537,8 +592,8 @@ makeTag += "<label class='switch'><input type='checkbox' ng-model='data.permIssueSetting' ng-click='event.modifyLevelPermission(data)'><span class='slider round'></span></label>"; break; - case "All_ISSUE_PROJECT_SETTING_PERM_YN" : - makeTag += "<label class='switch'><input type='checkbox' ng-model='data.permAllIssueAndProjectSetting' ng-click='event.modifyLevelPermission(data)'><span class='slider round'></span></label>"; + case "ISSUE_SYSTEM_SETTING_PERM_YN" : + makeTag += "<label class='switch'><input type='checkbox' ng-model='data.permIssueSystemSetting' ng-click='event.modifyLevelPermission(data)'><span class='slider round'></span></label>"; break; case "PARTNER_SETTING_PERM_YN" : @@ -604,11 +659,17 @@ case "LEVEL_OPTION" : //makeTag += "<select class='form-control input-sm' ng-model='data.levels[0].id' ng-options='levelName.id as levelName.levelName for levelName in data.levels' ></select>"; - makeTag +="<select class='form-control input-sm' ng-model='data.levelId' ng-change='event.modifyUserWorkspace(data)'><option ng-repeat='level in data.levels' ng-value='level.fieldKey'>{{::level.fieldValue}}</option></select>"; + if (scope.data.managerYn === 'Y'){ + makeTag +="<span>理쒓퀬愿�由ъ옄</span>"; + } else { + makeTag +="<select class='form-control input-sm' ng-model='data.levelId' ng-change='event.modifyUserWorkspace(data)'><option ng-repeat='level in data.levels' ng-value='level.fieldKey'>{{::level.fieldValue}}</option></select>"; + } break; case "WORKSPACE_USE_YN" : - makeTag += "<label class='switch'><input type='checkbox' ng-model='data.useYn' ng-click='event.modifyUserWorkspace(data)'><span class='slider round'></span></label>"; + if (scope.data.managerYn !== 'Y'){ + makeTag += "<label class='switch'><input type='checkbox' ng-model='data.useYn' ng-click='event.modifyUserWorkspace(data)'><span class='slider round'></span></label>"; + } break; case "COMPANYFIELD_MODIFY" : @@ -644,7 +705,7 @@ for (var count in scope.data.issueCustomFieldValueVos) { var issueCustomFieldValueVo = scope.data.issueCustomFieldValueVos[count]; // �뀒�씠釉� �꽕�젙�뿉�꽌 dName 遺�遺꾩뿉 �궗�슜�옄 �젙�쓽 �븘�뱶 id 瑜� �꽔怨� �빐�떦 媛믪쓣 異붿텧�븳�떎. - if (tableConfig.columnHint.id == issueCustomFieldValueVo.customFieldVo.id) { + if (tableConfig.columnHint.id === issueCustomFieldValueVo.customFieldVo.id) { values.push(issueCustomFieldValueVo.useValue); } } -- Gitblit v1.8.0