diff --git a/extension/lite/group/ext/lang/resource.php b/extension/lite/group/ext/lang/resource.php index 442db9e851..6424f9cecb 100644 --- a/extension/lite/group/ext/lang/resource.php +++ b/extension/lite/group/ext/lang/resource.php @@ -444,6 +444,8 @@ $lang->resource->execution->unbindWhitelist = 'unbindWhitelist'; //$lang->resource->execution->storyEstimate = 'storyEstimate'; $lang->resource->execution->kanban = 'kanban'; //if($config->systemMode == 'classic') $lang->resource->project->list = 'list'; +if($config->edition != 'open') $lang->resource->execution->gantt = 'ganttchart'; +if($config->edition != 'open') $lang->resource->execution->calendar = 'calendar'; //$lang->execution->methodOrder[0] = 'index'; //if($config->systemMode == 'classic') $lang->project->methodOrder[1] = 'list'; @@ -498,6 +500,8 @@ $lang->execution->methodOrder[250] = 'addWhitelist'; $lang->execution->methodOrder[255] = 'unbindWhitelist'; $lang->execution->methodOrder[260] = 'storyEstimate'; $lang->execution->methodOrder[270] = 'kanban'; +$lang->execution->methodOrder[280] = 'gantt'; +$lang->execution->methodOrder[285] = 'calendar'; /* Task. */ $lang->resource->task = new stdclass(); diff --git a/module/execution/js/kanban.js b/module/execution/js/kanban.js index f57c5c9808..ece96a9453 100644 --- a/module/execution/js/kanban.js +++ b/module/execution/js/kanban.js @@ -231,13 +231,15 @@ $('.c-group').change(function() */ function createLaneMenu(options) { - var lane = options.$trigger.closest('.kanban-lane').data('lane'); + var lane = options.$trigger.closest('.kanban-lane').data('lane'); + var laneCount = options.$trigger.closest('.kanban-board').children('.kanban-lane').length; + var privs = lane.actions; if(!privs.length) return []; var items = []; if(privs.includes('setLane')) items.push({label: kanbanLang.setLane, icon: 'edit', url: createLink('kanban', 'setLane', 'laneID=' + lane.id + '&executionID=0&from=kanban'), className: 'iframe', attrs: {'data-toggle': 'modal', 'data-width': '635px'}}); - if(privs.includes('deleteLane')) items.push({label: kanbanLang.deleteLane, icon: 'trash', url: createLink('kanban', 'deleteLane', 'lane=' + lane.id), attrs: {'target': 'hiddenwin'}}); + if(privs.includes('deleteLane') && laneCount > 1) items.push({label: kanbanLang.deleteLane, icon: 'trash', url: createLink('kanban', 'deleteLane', 'lane=' + lane.id), attrs: {'target': 'hiddenwin'}}); var bounds = options.$trigger[0].getBoundingClientRect(); items.$options = {x: bounds.right, y: bounds.top};