From fd569a1654c1aacc1228d0650cd4b0dd90748328 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 금, 19 11월 2021 16:53:40 +0900 Subject: [PATCH] 이슈 - 담당부서 리스트 프로젝트에서 설정한 부서들만 보여지도록 수정 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 16 +++ src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java | 43 +++++++++- src/main/resources/mybatis/query-template/department-template.xml | 10 ++ src/main/webapp/scripts/app/widget/widget.js | 2 src/main/webapp/custom_components/widget/project-progress-widget/projectDepartmentList.html | 22 +++++ src/main/java/kr/wisestone/owl/web/controller/DepartmentController.java | 13 +++ src/main/java/kr/wisestone/owl/mapper/DepartmentMapper.java | 2 src/main/webapp/custom_components/widget/project-progress-widget/project-progress-widget.directive.js | 21 ++++ src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js | 6 + src/main/webapp/scripts/components/utils/autoComplete.controller.js | 13 +++ src/main/java/kr/wisestone/owl/web/condition/DepartmentCondition.java | 9 ++ src/main/webapp/custom_components/widget/project-progress-widget/projectDepartmentList.controller.js | 51 ++++++++++++ src/main/java/kr/wisestone/owl/service/DepartmentService.java | 5 + src/main/webapp/i18n/ko/global.json | 1 src/main/webapp/scripts/main.js | 1 15 files changed, 202 insertions(+), 13 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/mapper/DepartmentMapper.java b/src/main/java/kr/wisestone/owl/mapper/DepartmentMapper.java index 9997607..452bb22 100644 --- a/src/main/java/kr/wisestone/owl/mapper/DepartmentMapper.java +++ b/src/main/java/kr/wisestone/owl/mapper/DepartmentMapper.java @@ -24,4 +24,6 @@ Long countInDepartment(Long Id); List<Map<String, Object>> findByDepartmentIds(UserCondition condition); + + List<Map<String, Object>> findProjectDepartment(DepartmentCondition departmentCondition); } diff --git a/src/main/java/kr/wisestone/owl/service/DepartmentService.java b/src/main/java/kr/wisestone/owl/service/DepartmentService.java index 09c1ca9..8b813da 100644 --- a/src/main/java/kr/wisestone/owl/service/DepartmentService.java +++ b/src/main/java/kr/wisestone/owl/service/DepartmentService.java @@ -1,6 +1,7 @@ package kr.wisestone.owl.service; import kr.wisestone.owl.domain.Department; +import kr.wisestone.owl.domain.Project; import kr.wisestone.owl.vo.DepartmentVo; import kr.wisestone.owl.web.condition.DepartmentCondition; import kr.wisestone.owl.web.condition.UserCondition; @@ -33,4 +34,8 @@ boolean countInDepartment(Long id); List<Map<String, Object>> findByDepartmentIds( UserCondition condition); + + void findProjectDepartment(Map<String, Object> resJsonData, DepartmentCondition departmentCondition); + + List<Map<String, Object>> findProjectDepartment(Project project); } diff --git a/src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java index 301b14b..587a349 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java @@ -1,11 +1,9 @@ package kr.wisestone.owl.service.impl; -import kr.wisestone.owl.domain.Department; -import kr.wisestone.owl.domain.UserDepartment; -import kr.wisestone.owl.domain.UserLevel; +import kr.wisestone.owl.domain.*; import kr.wisestone.owl.mapper.DepartmentMapper; -import kr.wisestone.owl.service.UserDepartmentService; -import kr.wisestone.owl.service.UserService; +import kr.wisestone.owl.service.*; +import kr.wisestone.owl.util.CommonUtil; import kr.wisestone.owl.web.condition.DepartmentCondition; import kr.wisestone.owl.web.condition.UserCondition; import kr.wisestone.owl.web.form.DepartmentForm; @@ -13,6 +11,7 @@ import org.jsoup.Jsoup; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.Model; import com.google.common.collect.Lists; import kr.wisestone.owl.common.ExcelConditionCheck; @@ -20,8 +19,6 @@ import kr.wisestone.owl.constant.MsgConstants; import kr.wisestone.owl.exception.OwlRuntimeException; import kr.wisestone.owl.repository.DepartmentRepository; -import kr.wisestone.owl.service.DepartmentService; -import kr.wisestone.owl.service.WorkspaceService; import kr.wisestone.owl.util.ConvertUtil; import kr.wisestone.owl.vo.*; import kr.wisestone.owl.web.view.ExcelView; @@ -52,6 +49,12 @@ @Autowired private UserDepartmentService userDepartmentService; + + @Autowired + private ProjectRoleDepartmentService projectRoleDepartmentService; + + @Autowired + private ProjectRoleService projectRoleService; @Autowired private WorkspaceService workspaceService; @@ -127,6 +130,32 @@ this.departmentRepository.flush(); } + // �봽濡쒖젥�듃�뿉 李몄뿬�븯�뒗 遺��꽌 �젙蹂대�� 議고쉶�븳�떎. + @Override + @Transactional(readOnly = true) + public List<Map<String, Object>> findProjectDepartment(Project project) { + DepartmentCondition departmentCondition = new DepartmentCondition(); + departmentCondition.setProjectId(project.getId()); + return this.departmentMapper.findProjectDepartment(departmentCondition); + } + + // �봽濡쒖젥�듃�뿉 李몄뿬�븯�뒗 遺��꽌 紐⑸줉�쓣 媛��졇�삩�떎. + @Override + @Transactional(readOnly = true) + public void findProjectDepartment(Map<String, Object> resJsonData, DepartmentCondition departmentCondition) { + ProjectRole projectRole = this.projectRoleService.findByProjectIdAndRoleType(departmentCondition.getProjectId(), ProjectRole.TYPE_DEFAULT); + List<ProjectRoleDepartment> projectRoleDepartments = this.projectRoleDepartmentService.findByProjectRoleId(projectRole.getId()); + List<DepartmentVo> departmentVos = Lists.newArrayList(); + + for (ProjectRoleDepartment projectRoleDepartment : projectRoleDepartments) { + DepartmentVo departmentVo = ConvertUtil.copyProperties(projectRoleDepartment.getDepartment(), DepartmentVo.class); + departmentVo.setByName(departmentVo.getDepartmentName()); + departmentVos.add(departmentVo); + } + + resJsonData.put(Constants.RES_KEY_CONTENTS, departmentVos); + } + // 遺��꽌 紐⑸줉�쓣 �뿊��濡� �떎�슫濡쒕뱶 �븳�떎. @Override diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java index 3b7419e..9f20fd4 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -114,6 +114,9 @@ private UserService userService; @Autowired + private DepartmentService departmentService; + + @Autowired private IssueCommentService issueCommentService; @Autowired @@ -1806,13 +1809,14 @@ Map<String, Priority> priorityMaps = new HashMap<>(); // �슦�꽑 �닚�쐞 紐⑥쓬 Map<String, Severity> severityMaps = new HashMap<>(); // 以묒슂�룄 紐⑥쓬 Map<String, Object> userMaps = new HashMap<>(); // �궗�슜�옄 紐⑥쓬 + Map<String, Object> departmentMaps = new HashMap<>(); // 遺��꽌 紐⑥쓬 Map<String, CustomField> customFieldMaps = new HashMap<>(); Map<String, IssueStatus> issueStatusReadyMaps = new HashMap<>(); // �긽�깭 �냽�꽦 '��湲�'�씤 �씠�뒋 �긽�깭 Map<Long, Long> issueNumberMaps = new HashMap<>(); // �씠�뒋 踰덊샇 紐⑥쓬 Map<String, Long> issueTypeCustomFieldMaps = new HashMap<>(); // �씠�뒋 ���엯 + �궗�슜�옄 �젙�쓽 �븘�뱶 �뿰寃� �젙蹂� Workspace workspace = this.workspaceService.getWorkspace(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId()); // �씠�뒋瑜� �꽔�쑝�젮�뒗 �뾽臾� 怨듦컙 // �씠�뒋�쓽 二쇱슂 �냽�꽦�쓣 map �뿉 ���옣�븯�뿬 �뿊�� import �뿉�꽌 吏��젙�븳 ���긽(�씠�뒋 �냽�꽦)�쓣 鍮좊Ⅴ寃� 李얠쓣 �닔 �엳寃� �븳�떎. - this.IssueAttributeMapToList(projectMaps, issueTypeMaps, priorityMaps, severityMaps, userMaps, customFieldMaps, issueNumberMaps, issueTypeCustomFieldMaps, issueStatusReadyMaps); + this.IssueAttributeMapToList(projectMaps, issueTypeMaps, priorityMaps, severityMaps, userMaps, departmentMaps, customFieldMaps, issueNumberMaps, issueTypeCustomFieldMaps, issueStatusReadyMaps); // 0.237 - 0.230 List<IssueForm> issueForms = Lists.newArrayList(); @@ -2005,7 +2009,7 @@ // �씠�뒋�쓽 二쇱슂 �냽�꽦�쓣 map �뿉 ���옣�븯�뿬 �뿊�� import �뿉�꽌 吏��젙�븳 ���긽(�씠�뒋 �냽�꽦)�쓣 鍮좊Ⅴ寃� 李얠쓣 �닔 �엳寃� �븳�떎. private void IssueAttributeMapToList(Map<String, Project> projectMaps, Map<String, IssueType> issueTypeMaps, Map<String, Priority> priorityMaps, Map<String, Severity> severityMaps, - Map<String, Object> userMaps, Map<String, CustomField> customFieldMaps, Map<Long, Long> issueNumberMaps, Map<String, Long> issueTypeCustomFieldMaps, Map<String, IssueStatus> issueStatusReadyMaps) { + Map<String, Object> userMaps, Map<String, Object> departmentMaps, Map<String, CustomField> customFieldMaps, Map<Long, Long> issueNumberMaps, Map<String, Long> issueTypeCustomFieldMaps, Map<String, IssueStatus> issueStatusReadyMaps) { // �봽濡쒖젥�듃 �궎濡� 諛붾줈 李얠쓣 �닔 �엳寃� 以�鍮� List<Project> projects = this.projectService.findByWorkspaceId(); List<Long> projectIds = Lists.newArrayList(); @@ -2031,6 +2035,14 @@ } userMaps.put(project.getProjectKey(), userMap); + + // �봽濡쒖젥�듃�뿉 李몄뿬�븯�뒗 遺��꽌 �젙蹂� + List<Map<String, Object>> departments = this.departmentService.findProjectDepartment(project); + List<Long> departmentList = Lists.newArrayList(); + // 遺��꽌 �젙蹂대�� ���옣 + for (Map<String, Object> department : departments) { + departmentList.add(MapUtil.getLong(department, "departmentId")); + } } // �씠�뒋 �쑀�삎�쓣 諛붾줈 李얠쓣 �닔 �엳寃� 以�鍮� diff --git a/src/main/java/kr/wisestone/owl/web/condition/DepartmentCondition.java b/src/main/java/kr/wisestone/owl/web/condition/DepartmentCondition.java index 010f1e8..815b458 100644 --- a/src/main/java/kr/wisestone/owl/web/condition/DepartmentCondition.java +++ b/src/main/java/kr/wisestone/owl/web/condition/DepartmentCondition.java @@ -15,6 +15,7 @@ private String departmentName; private String departmentDescription; private Long departmentCount; + private Long projectId; private List<Long> excludeIds = Lists.newArrayList(); @@ -65,6 +66,14 @@ this.departmentCount = departmentCount; } + public Long getProjectId() { + return projectId; + } + + public void setProjectId(Long projectId) { + this.projectId = projectId; + } + public Integer getPage() { return Page; } diff --git a/src/main/java/kr/wisestone/owl/web/controller/DepartmentController.java b/src/main/java/kr/wisestone/owl/web/controller/DepartmentController.java index 1c3f1c0..bdea59d 100644 --- a/src/main/java/kr/wisestone/owl/web/controller/DepartmentController.java +++ b/src/main/java/kr/wisestone/owl/web/controller/DepartmentController.java @@ -3,6 +3,7 @@ import kr.wisestone.owl.constant.Constants; import kr.wisestone.owl.service.DepartmentService; import kr.wisestone.owl.web.condition.DepartmentCondition; +import kr.wisestone.owl.web.condition.UserCondition; import kr.wisestone.owl.web.form.DepartmentForm; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; @@ -89,6 +90,18 @@ return this.setSuccessMessage(resJsonData); } + // �봽濡쒖젥�듃�뿉 李몄뿬�븯�뒗 遺��꽌 紐⑸줉 議고쉶 + @RequestMapping(value = "/department/findProjectDepartment", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public + @ResponseBody + Map<String, Object> findProjectDepartment(@RequestBody Map<String, Map<String, Object>> params) { + Map<String, Object> resJsonData = new HashMap<>(); + + this.departmentService.findProjectDepartment(resJsonData, DepartmentCondition.make(params.get(Constants.REQ_KEY_CONTENT))); + + return this.setSuccessMessage(resJsonData); + } + // 遺��꽌 �뿊�� �떎�슫濡쒕뱶 @RequestMapping(value = "/department/downloadExcel", method = RequestMethod.POST) diff --git a/src/main/resources/mybatis/query-template/department-template.xml b/src/main/resources/mybatis/query-template/department-template.xml index 95989ae..eb3bea2 100644 --- a/src/main/resources/mybatis/query-template/department-template.xml +++ b/src/main/resources/mybatis/query-template/department-template.xml @@ -67,5 +67,15 @@ </choose> </select> + <select id="findProjectDepartment +" resultType="java.util.HashMap" + parameterType="kr.wisestone.owl.web.condition.UserCondition"> + select DISTINCT (d.id) as departmentId, d.department_name as departmentName from department d + inner join project_role_department prd on prd.department_id = d.id + inner join project_role pr on pr.id = prd.project_role_id + inner join project p on p.id = pr.project_id + where p.id = #{projectId}; + </select> + </mapper> \ No newline at end of file diff --git a/src/main/webapp/custom_components/widget/project-progress-widget/project-progress-widget.directive.js b/src/main/webapp/custom_components/widget/project-progress-widget/project-progress-widget.directive.js index 1ef0a17..aaabdae 100644 --- a/src/main/webapp/custom_components/widget/project-progress-widget/project-progress-widget.directive.js +++ b/src/main/webapp/custom_components/widget/project-progress-widget/project-progress-widget.directive.js @@ -23,7 +23,8 @@ // �븿�닔 紐⑥쓬 $scope.fn = { - projectMember : projectMember // �봽濡쒖젥�듃 ���썝 �솗�씤 �뙘�뾽 �샇異� + //projectMember : projectMember // �봽濡쒖젥�듃 ���썝 �솗�씤 �뙘�뾽 �샇異� + projectDepartment : projectDepartment // �봽濡쒖젥�듃 遺��꽌 �솗�씤 �뙘�뾽 �샇異� }; // 吏꾪뻾 以묒씤 �봽濡쒖젥�듃 �쁽�솴 �젙蹂닿� 蹂�寃쎈맆�븣 媛먯��븳�떎. @@ -35,7 +36,7 @@ }); // �봽濡쒖젥�듃 ���썝 �솗�씤 �뙘�뾽 �샇異� - function projectMember(id) { + /*function projectMember(id) { $uibModal.open({ templateUrl : '../custom_components/widget/project-progress-widget/projectMemberList.html', size : "md", @@ -49,6 +50,22 @@ } } }); + }*/ + + function projectDepartment(id) { + $uibModal.open({ + templateUrl : '../custom_components/widget/project-progress-widget/projectDepartmentList.html', + size : "md", + controller : 'projectDepartmentListController', + backdrop : 'static', + resolve : { + parameter : function () { + return { + id : id + }; + } + } + }); } }, link : function (scope, element, attrs) { diff --git a/src/main/webapp/custom_components/widget/project-progress-widget/projectDepartmentList.controller.js b/src/main/webapp/custom_components/widget/project-progress-widget/projectDepartmentList.controller.js new file mode 100644 index 0000000..465dcf8 --- /dev/null +++ b/src/main/webapp/custom_components/widget/project-progress-widget/projectDepartmentList.controller.js @@ -0,0 +1,51 @@ +/** + * Created by wisestone on 2018-11-06. + */ +/** + * Created by wisestone on 2017-12-15. + */ +'use strict'; + +define([ + 'app' + ], + function (app) { + app.controller('projectDepartmentListController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$stateParams', '$q', 'parameter', 'Department', '$filter', + function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $stateParams, $q, parameter, Department, $filter) { + + $scope.vm = { + departmentVos : [] // �봽濡쒖젥�듃 �씪諛� 李몄뿬�옄 + }; + + $scope.fn = { + cancel : cancel, // �뙘�뾽 李� �떕湲� + getProjectDepartments : getProjectDepartments // �봽濡쒖젥�듃 李몄뿬 遺��꽌 紐⑸줉 議고쉶 + }; + + // �뙘�뾽 李� �떕湲� + function cancel() { + $rootScope.$broadcast("closeLayer"); // �뙘�뾽�씠 �뿴由ш퀬 �굹�꽌 js-multi, js-single �벑�뿉�꽌 body �씠踰ㅽ듃媛� �궇�븘媛��뒗 �쁽�긽 �닔�젙 + $uibModalInstance.dismiss('cancel'); + } + + // �봽濡쒖젥�듃 李몄뿬 遺��꽌 紐⑸줉 議고쉶 + function getProjectDepartments() { + Department.findProjectDepartment($resourceProvider.getContent({ + projectId : parameter.id + }, + $resourceProvider.getPageContent(0, 0))).then(function (result) { + + if (result.data.message.status === "success") { + $scope.vm.departmentVos = result.data.data; + } + else { + SweetAlert.swal($filter("translate")("project.failedToProjectDepartment"), result.data.message.message, "error"); // "�봽濡쒖젥�듃 硫ㅻ쾭 議고쉶 �떎�뙣" + } + }); + } + + // �봽濡쒖젥�듃 �씪諛� 李몄뿬�옄 紐⑸줉 議고쉶 + $scope.fn.getProjectDepartments(); + + }]); + }); diff --git a/src/main/webapp/custom_components/widget/project-progress-widget/projectDepartmentList.html b/src/main/webapp/custom_components/widget/project-progress-widget/projectDepartmentList.html new file mode 100644 index 0000000..c99754b --- /dev/null +++ b/src/main/webapp/custom_components/widget/project-progress-widget/projectDepartmentList.html @@ -0,0 +1,22 @@ +<div class="formModal"> + <div class="modal-header faded smaller"> + <div class="modal-title"> + <strong><span translate="project.projectDepartment">�봽濡쒖젥�듃 遺��꽌</span></strong> + </div> + <button aria-label="Close" class="close" type="button" ng-click="fn.cancel()"> + <span aria-hidden="true"> ×</span> + </button> + </div> + + <div class="modal-body"> + <div class="select3-selection__choicediv mt-10"> + <span class="select3-selection__choice" ng-repeat="departmentVo in vm.departmentVos"> + <span>{{departmentVo.name}}</span> + </span> + </div> + </div> + + <div class="modal-footer buttons-on-right"> + <button type="button" class="btn btn-md btn-grey" ng-click="fn.cancel()"><span translate="common.close">�떕湲�</span></button> + </div> +</div> \ No newline at end of file diff --git a/src/main/webapp/i18n/ko/global.json b/src/main/webapp/i18n/ko/global.json index 369b739..ed49941 100644 --- a/src/main/webapp/i18n/ko/global.json +++ b/src/main/webapp/i18n/ko/global.json @@ -330,6 +330,7 @@ "failedToModifyProject": "�봽濡쒖젥�듃 �닔�젙 �떎�뙣", "failedToProjectDetails": "�봽濡쒖젥�듃 �긽�꽭 �젙蹂� 議고쉶 �떎�뙣", "failedToProjectMember": "�봽濡쒖젥�듃 硫ㅻ쾭 議고쉶 �떎�뙣", + "failedToProjectDepartment": "�봽濡쒖젥�듃 遺��꽌 議고쉶 �떎�뙣", "failedToProjectKeyPattern": "�봽濡쒖젥�듃 �궎 �엯�젰 媛믪씠 �옒紐삳릺�뿀�뒿�땲�떎.", "limitNameToSpecialCharacters": "�봽濡쒖젥�듃 紐낆� �듅�닔 臾몄옄瑜� �엯�젰�븷 �닔 �뾾�뒿�땲�떎.", "viewSub": "�븯�쐞 �봽濡쒖젥�듃 蹂닿린", diff --git a/src/main/webapp/scripts/app/widget/widget.js b/src/main/webapp/scripts/app/widget/widget.js index 2cf1cbb..6057042 100644 --- a/src/main/webapp/scripts/app/widget/widget.js +++ b/src/main/webapp/scripts/app/widget/widget.js @@ -31,7 +31,7 @@ var deferred = $q.defer(); require(["widgetDashBoardController", "widgetService", "tableUserImage", "d3", "nvd3", "issueCompleteWidget", "issueStatusWidget", "myAssigneeIssueWidget", "issueTypeWidget", "delayIssueWidget", "registerIssueWidget", "riskIssueWidget", "myIssueWidget", "memberProgressWidget", "projectProgressWidget", "issueStatisticsWidget", "severityIssueWidget", - "workflowWidget", "projectMemberListController", "jsWorkflowDisabled", 'd3', 'formSubmit'], function () { + "workflowWidget", "projectMemberListController", "projectDepartmentListController", "jsWorkflowDisabled", 'd3', 'formSubmit'], function () { deferred.resolve(); }); diff --git a/src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js b/src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js index 511b597..11f727f 100644 --- a/src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js +++ b/src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js @@ -69,6 +69,12 @@ return response; }); }, + findProjectDepartment : function (conditions) { + return $http.post("department/findProjectDepartment", conditions).then(function (response) { + $log.debug("�봽濡쒖젥�듃�뿉 李몄뿬�븯�뒗 遺��꽌 紐⑸줉 議고쉶 : ", response); + return response; + }); + }, //�궗�슜�옄 愿�由� find : function (conditions) { diff --git a/src/main/webapp/scripts/components/utils/autoComplete.controller.js b/src/main/webapp/scripts/components/utils/autoComplete.controller.js index 3a9e11d..b2177a0 100644 --- a/src/main/webapp/scripts/components/utils/autoComplete.controller.js +++ b/src/main/webapp/scripts/components/utils/autoComplete.controller.js @@ -257,6 +257,17 @@ var conditions = { departmentName : query, userId : $rootScope.user.id, + projectId : (function () { + var projectId = ""; + + if ($rootScope.isDefined($scope.vm.form)) { + angular.forEach($scope.vm.form.projects, function (project) { + projectId = project.id; + }); + } + + return projectId; + })(), excludeIds : (function () { var excludeIds = []; @@ -272,7 +283,7 @@ - UserWorkspace.departmentFind($resourceProvider.getContent( // �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎. + UserWorkspace.findProjectDepartment($resourceProvider.getContent( // �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎. conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) { if (result.data.message.status === "success") { if ($rootScope.isDefined(callBack)) { diff --git a/src/main/webapp/scripts/main.js b/src/main/webapp/scripts/main.js index a5116c5..8b1694c 100644 --- a/src/main/webapp/scripts/main.js +++ b/src/main/webapp/scripts/main.js @@ -101,6 +101,7 @@ 'memberProgressWidget' : '../custom_components/widget/member-progress-widget/member-progress-widget.directive', // 硫ㅻ쾭蹂� 吏꾪뻾瑜� 李⑦듃瑜� �꽔�뒗�뜲 �궗�슜�븳�떎. 'projectProgressWidget' : '../custom_components/widget/project-progress-widget/project-progress-widget.directive', // 吏꾪뻾 以묒씤 �봽濡쒖젥�듃 �쁽�솴 李⑦듃瑜� �꽔�뒗�뜲 �궗�슜�븳�떎. 'projectMemberListController' : '../custom_components/widget/project-progress-widget/projectMemberList.controller', // 吏꾪뻾 以묒씤 �봽濡쒖젥�듃 �쁽�솴 李⑦듃�뿉�꽌 ���썝 �솗�씤�뿉 �궗�슜�븳�떎. + 'projectDepartmentListController' : '../custom_components/widget/project-progress-widget/projectDepartmentList.controller', 'issueStatisticsWidget' : '../custom_components/widget/issue-statistics-widget/issue-statistics-widget.directive', // �쟾泥� �씠�뒋 �쁽�솴 李⑦듃瑜� �꽔�뒗�뜲 �궗�슜�븳�떎. 'workflowWidget' : '../custom_components/widget/workflow-widget/workflow-widget.directive', // �썙�겕�뵆濡쒖슦 李⑦듃瑜� �꽔�뒗�뜲 �궗�슜�븳�떎. 'issueTypeWidget' : '../custom_components/widget/issue-type-widget/issue-type-widget.directive', // �씠�뒋 ���엯 蹂� �씠�뒋 �쁽�솴 李⑦듃瑜� �꽔�뒗�뜲 �궗�슜�븳�떎. -- Gitblit v1.8.0