From 143e3661ab54155f74d85346674cc6039e1cfe22 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Wed, 18 Oct 2023 09:00:50 +0800 Subject: [PATCH] * Fixed Create api lib type linkage. --- module/api/js/common.ui.js | 35 ++++++++++++++++++++++++++++++++ module/api/ui/createlib.html.php | 6 +++--- module/project/model.php | 2 +- 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/module/api/js/common.ui.js b/module/api/js/common.ui.js index 3184c4607c..6bc8cf35df 100644 --- a/module/api/js/common.ui.js +++ b/module/api/js/common.ui.js @@ -345,3 +345,38 @@ window.loadWhitelist = function(libID) } }); } + +/** + * Toggle lib type. + * + * @param string $libType + * @access public + * @return void + */ +function toggleLibType(e) +{ + libType = $(e.target).val() == undefined ? libType : $(e.target).val(); + if(libType == 'project') + { + $('#projectBox').removeClass('hidden'); + $('#productBox').addClass('hidden'); + $('#acldefault').closest('.radio-primary').show(); + $('#acldefault').next('label').html($('#acldefault').next('label').html().replace(productLang, projectLang)); + } + else if(libType == 'product') + { + $('#projectBox').addClass('hidden'); + $('#productBox').removeClass('hidden'); + $('#acldefault').closest('.radio-primary').show(); + $('#acldefault').next('label').html($('#acldefault').next('label').html().replace(projectLang, productLang)); + } + else + { + var acl = $("input[name='acl']:checked").val(); + if(acl == 'default') $("input[id='aclopen']").prop('checked', true); + + $('#projectBox').addClass('hidden'); + $('#productBox').addClass('hidden'); + $('#acldefault').closest('.radio-primary').hide(); + } +} diff --git a/module/api/ui/createlib.html.php b/module/api/ui/createlib.html.php index 61a509a91a..2912bc0abd 100644 --- a/module/api/ui/createlib.html.php +++ b/module/api/ui/createlib.html.php @@ -11,7 +11,7 @@ declare(strict_types=1); namespace zin; jsVar('productLang', $lang->productCommon); jsVar('projectLang', $lang->projectCommon); -jsVar('libType', $type); +jsVar('window.libType', $type); formPanel ( set::title($lang->api->createLib), @@ -37,7 +37,7 @@ formPanel set::width('3/4'), set::name('product'), set::items($products), - set::value($objectID), + set::value($type == 'product' ? $objectID : 0), set::required(true), ) ), @@ -51,7 +51,7 @@ formPanel set::width('3/4'), set::name('project'), set::items($projects), - set::value($objectID), + set::value($type == 'project' ? $objectID : 0), set::required(true), ) ), diff --git a/module/project/model.php b/module/project/model.php index 742ea90214..89baa0116a 100755 --- a/module/project/model.php +++ b/module/project/model.php @@ -932,7 +932,7 @@ class projectModel extends model if($model == 'waterfallplus') $model = array('waterfall', 'waterfallplus'); /* Set first program to the project attribute. */ - $model = $model == 'all' ? array() : (array)$model; + $model = $model == 'all' ? array() : explode(',', $model); $multiple = strpos($param, 'multiple') !== false; foreach($projects as $projectID => $project) {