From 2838e9dc7669ab8e9bc256861b919cdf65d3a80c Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Mon, 24 Jan 2022 16:28:00 +0800 Subject: [PATCH] * Modify import drop menu. --- config/zentaopms.php | 5 +++++ module/kanban/js/view.js | 18 +++++++++++------- module/kanban/model.php | 9 ++++++--- 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/config/zentaopms.php b/config/zentaopms.php index 50a3eaf890..d89d58bddd 100644 --- a/config/zentaopms.php +++ b/config/zentaopms.php @@ -145,6 +145,11 @@ $config->openMethods[] = 'doc.selectlibtype'; $config->openMethods[] = 'sso.getfeishusso'; $config->openMethods[] = 'sso.feishuauthen'; $config->openMethods[] = 'sso.feishulogin'; +$config->openMethods[] = 'kanban.importcard'; +$config->openMethods[] = 'kanban.importplan'; +$config->openMethods[] = 'kanban.importrelease'; +$config->openMethods[] = 'kanban.importexecution'; +$config->openMethods[] = 'kanban.importbuild'; /* Define the tables. */ define('TABLE_COMPANY', '`' . $config->db->prefix . 'company`'); diff --git a/module/kanban/js/view.js b/module/kanban/js/view.js index a1e3933463..8136b47aa2 100644 --- a/module/kanban/js/view.js +++ b/module/kanban/js/view.js @@ -969,9 +969,9 @@ function createColumnCreateMenu(options) if(privs.includes('createCard')) items.push({label: kanbanLang.createCard, url: $.createLink('kanban', 'createCard', 'kanbanID=' + kanbanID + '®ionID=' + regionID + '&groupID=' + groupID + '&columnID=' + columnID), className: 'iframe', attrs: {'data-toggle': 'modal'}}); if(privs.includes('batchCreateCard')) items.push({label: kanbanLang.batchCreateCard, url: $.createLink('kanban', 'batchCreateCard', 'kanbanID=' + kanbanID + '®ionID=' + regionID + '&groupID=' + groupID + '&laneID=' + laneID + '&columnID=' + columnID), attrs: {'data-width': '80%'}}); - if(privs.includes('import') && kanban.object.indexOf('cards') != -1) items.push({label: kanbanLang.importCard, url: $.createLink('kanban', 'importCard', 'kanbanID=' + kanbanID + '®ionID=' + regionID + '&groupID=' + groupID + '&laneID=' + laneID + '&columnID=' + columnID), attrs: {'data-width': '80%'}}); - if(privs.includes('import') && kanban.object) items.push({className: 'parentDivider'}); - if(privs.includes('import') && kanban.object) items.push({label: kanbanLang.importAB, className: 'import'}); + if(privs.includes('import') && kanban.object.indexOf('cards') != -1) items.push({label: kanbanLang.importCard, url: $.createLink('kanban', 'importCard', 'kanbanID=' + kanbanID + '®ionID=' + regionID + '&groupID=' + groupID + '&columnID=' + columnID), className: 'iframe', attrs: {'data-toggle': 'modal'}}); + if(privs.includes('import') && kanban.object && kanban.object != 'cards') items.push({className: 'parentDivider'}); + if(privs.includes('import') && kanban.object && kanban.object != 'cards') items.push({label: kanbanLang.importAB, className: 'import'}); return items; } @@ -1094,11 +1094,15 @@ $(function() $('.parentDivider').parent().addClass('divider'); $('.import').parent().addClass('dropdown-submenu top'); + var regionID = $(this).closest('.kanban').data('id'); + var groupID = $(this).closest('.kanban-board').data('id'); + var columnID = $(this).closest('.kanban-col').data('id'); + /* The submenu of import. */ - var importPlanLink = kanban.object.indexOf('plan') != -1 ? '
  • ' + kanbanLang.importPlan + '
  • ' : ''; - var importReleaseLink = kanban.object.indexOf('release') != -1 ? '
  • ' + kanbanLang.importRelease + '
  • ' : ''; - var importExecutionLink = kanban.object.indexOf('execution') != -1 ? '
  • ' + kanbanLang.importExecution + '
  • ' : ''; - var importBuildLink = kanban.object.indexOf('build') != -1 ? '
  • ' + kanbanLang.importBuild + '
  • ' : ''; + var importPlanLink = kanban.object.indexOf('plan') != -1 ? "
  • " + kanbanLang.importPlan + '
  • ' : ''; + var importReleaseLink = kanban.object.indexOf('release') != -1 ? "
  • " + kanbanLang.importRelease + '
  • ' : ''; + var importExecutionLink = kanban.object.indexOf('execution') != -1 ? "
  • " + kanbanLang.importExecution + '
  • ' : ''; + var importBuildLink = kanban.object.indexOf('build') != -1 ? "
  • " + kanbanLang.importBuild + '
  • ' : ''; var importSubmenu = ''; $('.import').parent().append(importSubmenu); diff --git a/module/kanban/model.php b/module/kanban/model.php index 77174e3259..fcd4581d27 100644 --- a/module/kanban/model.php +++ b/module/kanban/model.php @@ -3071,9 +3071,9 @@ class kanbanModel extends model } /** - * Process cards when delete a column. - * - * @param object $column + * Process cards when delete a column. + * + * @param object $column * @access public * @return void */ @@ -3309,10 +3309,13 @@ class kanbanModel extends model */ public function getCards2Import($kanbanID = 0, $excludedID = 0, $pager = null) { + $kanbanIdList = $this->getCanViewObjects(); + return $this->dao->select('*')->from(TABLE_KANBANCARD) ->where('deleted')->eq(0) ->andWhere('archived')->eq(0) ->andWhere('fromID')->eq(0) + ->andWhere('kanban')->in($kanbanIdList) ->beginIF($kanbanID)->andWhere('kanban')->eq($kanbanID)->fi() ->beginIF($excludedID)->andWhere('kanban')->ne($excludedID)->fi() ->orderBy('order')