|
29 | 29 | use main\app\model\issue\ExtraWorkerDayModel; |
30 | 30 | use main\app\model\issue\HolidayModel; |
31 | 31 | use main\app\model\project\ProjectCatalogLabelModel; |
| 32 | +use main\app\model\project\ProjectFlagModel; |
32 | 33 | use main\app\model\project\ProjectGanttSettingModel; |
33 | 34 | use main\app\model\project\ProjectLabelModel; |
34 | 35 | use main\app\model\project\ProjectModel; |
@@ -176,7 +177,19 @@ public function pageIndex() |
176 | 177 | $data['description_templates'] = $descTplModel->getAll(false); |
177 | 178 | // 表格视图的显示字段 |
178 | 179 | $issueLogic = new IssueLogic(); |
179 | | - $data['display_fields'] = $issueLogic->getUserIssueDisplayFields(UserAuth::getId(), $data['project_id']); |
| 180 | + $projectFlagModel = new ProjectFlagModel(); |
| 181 | + $isUserDisplayField = $projectFlagModel->getValueByFlag($data['project_id'], "is_user_display_field"); |
| 182 | + if(is_null($isUserDisplayField)){ |
| 183 | + $data['is_user_display_field'] = "1"; |
| 184 | + }else{ |
| 185 | + $data['is_user_display_field'] = $isUserDisplayField; |
| 186 | + } |
| 187 | + $data['user_display_fields'] = $issueLogic->getUserIssueDisplayFields(UserAuth::getId(), $data['project_id']); |
| 188 | + if ($data['is_user_display_field'] !=="1"){ |
| 189 | + $data['display_fields'] = IssueLogic::fetchProjectDisplayFields($data['project_id']); |
| 190 | + }else{ |
| 191 | + $data['display_fields'] = $data['user_display_fields']; |
| 192 | + } |
180 | 193 | $uiDisplayFields = IssueLogic::$uiDisplayFields; |
181 | 194 | $fieldsArr = FieldModel::getInstance()->getCustomFields(); |
182 | 195 | $fieldsIdArr = array_column($fieldsArr, 'title', 'name'); |
@@ -221,11 +234,18 @@ public function pageIndex() |
221 | 234 | } else { |
222 | 235 | $data['sprints'] = $sprintModel->getAllItems(false); |
223 | 236 | } |
224 | | - |
225 | 237 | $data['project_catalog'] = (new ProjectCatalogLabelModel())->getByProject($data['project_id']); |
226 | | - |
227 | 238 | $data['last_create_data'] = UserLogic::getLastCreateIssueData($userId, $data['project']); |
228 | | - |
| 239 | + // 项目过滤器 |
| 240 | + $data['ProjectFilterArr'] = IssueFavFilterLogic::fetchProjectFilters($data['project_id']); |
| 241 | + // 表格显示头像还是名称 |
| 242 | + $projectFlagModel = new ProjectFlagModel(); |
| 243 | + $isTableDisplayAvatar = $projectFlagModel->getValueByFlag($data['project_id'], "is_table_display_avatar"); |
| 244 | + if(is_null($isTableDisplayAvatar)){ |
| 245 | + $data['is_table_display_avatar'] = "1"; |
| 246 | + }else{ |
| 247 | + $data['is_table_display_avatar'] = $isTableDisplayAvatar; |
| 248 | + } |
229 | 249 | $this->render('gitlab/issue/list.php', $data); |
230 | 250 | } |
231 | 251 |
|
@@ -660,6 +680,16 @@ public function filter() |
660 | 680 | } |
661 | 681 |
|
662 | 682 | } |
| 683 | + // 表格显示头像还是名称 |
| 684 | + $projectId = isset($_GET['project']) ? intval($_GET['project']) : null; |
| 685 | + $projectFlagModel = new ProjectFlagModel(); |
| 686 | + $isTableDisplayAvatar = $projectFlagModel->getValueByFlag($projectId, "is_table_display_avatar"); |
| 687 | + if(is_null($isTableDisplayAvatar)){ |
| 688 | + $data['is_table_display_avatar'] = "1"; |
| 689 | + }else{ |
| 690 | + $data['is_table_display_avatar'] = $isTableDisplayAvatar; |
| 691 | + } |
| 692 | + |
663 | 693 | list($ret, $data['issues'], $total) = $issueFilterLogic->getList($page, $pageSize); |
664 | 694 | if ($ret) { |
665 | 695 | $this->response($data, $total, $page, $pageSize); |
@@ -815,9 +845,13 @@ public function saveFilter($name = '', $filter = '', $description = '', $shared |
815 | 845 | if (isset($_REQUEST['sort_by']) && !empty($_REQUEST['sort_by'])) { |
816 | 846 | $arr[] = 'sort_by:' . $_REQUEST['sort_by']; |
817 | 847 | } |
| 848 | + $shareScope = ''; |
| 849 | + if (isset($_REQUEST['is_project_filter']) && $_REQUEST['is_project_filter']=="1") { |
| 850 | + $shareScope = 'project'; |
| 851 | + } |
818 | 852 | //print_r($arr); |
819 | 853 | $filter = implode(" ", $arr); |
820 | | - list($ret, $msg) = $IssueFavFilterLogic->saveFilter($name, $filter, $description, $shared, $projectId); |
| 854 | + list($ret, $msg) = $IssueFavFilterLogic->saveFilter($name, $filter, $description, $shareScope, $projectId); |
821 | 855 | if ($ret) { |
822 | 856 | $info = []; |
823 | 857 | $info['name'] = $name; |
@@ -867,6 +901,11 @@ public function saveAdvFilter() |
867 | 901 | if(isset($_POST['sort_by'])){ |
868 | 902 | $info['adv_query_sort_by'] = $_POST['sort_by']; |
869 | 903 | } |
| 904 | + $shareScope = ''; |
| 905 | + if (isset($_REQUEST['is_project_filter']) && $_REQUEST['is_project_filter']=="1") { |
| 906 | + $shareScope = 'project'; |
| 907 | + } |
| 908 | + $info['share_scope'] = $shareScope; |
870 | 909 | list($ret, $msg) = $filterModel->insert($info); |
871 | 910 | if ($ret) { |
872 | 911 | $event = new CommonPlacedEvent($this, $info); |
|
0 commit comments