diff --git a/lib/zin/wg/docapp/js/v1.js b/lib/zin/wg/docapp/js/v1.js index 4f474e465a..c07ae251ec 100644 --- a/lib/zin/wg/docapp/js/v1.js +++ b/lib/zin/wg/docapp/js/v1.js @@ -1236,6 +1236,8 @@ const customRenders = return {fetcher: $.createLink('api', 'edit', `apiID=${getApiID(doc.id)}`), loadingText: getDocAppLang('loading')}; } const doc = this.doc.data; + if(!docAppHasPriv('viewApi')) return {html: `
${getDocAppLang('accessDenied')}
`}; + const release = this.signals.libReleaseMap.value[doc.lib] || 0; const version = this.signals.docVersion.value || 0; return {fetcher: $.createLink('api', 'view', `libID=${doc.lib}&apiID=${getApiID(doc.id)}&moduleID=${doc.module}&version=${version}&release=${release}`), loadingText: getDocAppLang('loadingDocsData'), className: 'doc-editor-content'}; diff --git a/module/api/js/index.ui.js b/module/api/js/index.ui.js index 001fce6e70..9ca21dc0a2 100644 --- a/module/api/js/index.ui.js +++ b/module/api/js/index.ui.js @@ -37,6 +37,7 @@ const customRenders = return {fetcher: $.createLink('api', 'edit', `apiID=${doc.id}`), loadingText: getDocAppLang('loading')}; } const doc = this.doc.data; + if(!docAppHasPriv('view')) return {html: `${getDocAppLang('accessDenied')}
`}; const release = this.signals.libReleaseMap.value[doc.lib] || 0; const version = this.signals.docVersion.value || 0; return {fetcher: $.createLink('api', 'view', `libID=${doc.lib}&apiID=${doc.id}&moduleID=${doc.module}&version=${version}&release=${release}`), loadingText: getDocAppLang('loadingDocsData'), className: 'doc-editor-content'}; diff --git a/module/api/ui/index.html.php b/module/api/ui/index.html.php index 82b3d71203..b2941bc26e 100644 --- a/module/api/ui/index.html.php +++ b/module/api/ui/index.html.php @@ -15,6 +15,7 @@ $privs['collect'] = 'no'; $privs['createApi'] = hasPriv('api', 'create'); $privs['exportApi'] = $this->config->edition != 'open' && hasPriv('api', 'export'); $privs['edit'] = hasPriv('api', 'edit'); +$privs['view'] = hasPriv('api', 'view'); $privs['delete'] = hasPriv('api', 'delete'); $privs['createLib'] = hasPriv('api', 'createLib'); $privs['editLib'] = hasPriv('api', 'editLib'); diff --git a/module/doc/lang/en.php b/module/doc/lang/en.php index 0e1ed4f7cc..da003d8289 100644 --- a/module/doc/lang/en.php +++ b/module/doc/lang/en.php @@ -571,3 +571,4 @@ $lang->doc->docLang->productMine = 'My responsibility'; $lang->doc->docLang->projectMine = 'My participation'; $lang->doc->docLang->productOther = 'Other'; $lang->doc->docLang->projectOther = 'Other'; +$lang->doc->docLang->accessDenied = $lang->doc->accessDenied; diff --git a/module/doc/lang/zh-cn.php b/module/doc/lang/zh-cn.php index b62a15c538..8d386b03f6 100644 --- a/module/doc/lang/zh-cn.php +++ b/module/doc/lang/zh-cn.php @@ -571,3 +571,4 @@ $lang->doc->docLang->productMine = '我负责的'; $lang->doc->docLang->projectMine = '我参与的'; $lang->doc->docLang->productOther = '其他'; $lang->doc->docLang->projectOther = '其他'; +$lang->doc->docLang->accessDenied = $lang->doc->accessDenied; diff --git a/module/doc/ui/app.html.php b/module/doc/ui/app.html.php index d0794b40c1..ba44289179 100644 --- a/module/doc/ui/app.html.php +++ b/module/doc/ui/app.html.php @@ -54,6 +54,7 @@ $privs['sortDoc'] = hasPriv('doc', 'sortDoc'); $privs['batchMoveDoc'] = hasPriv('doc', 'batchMoveDoc'); $privs['createApi'] = hasPriv('api', 'create'); $privs['editApi'] = hasPriv('api', 'edit'); +$privs['viewApi'] = hasPriv('api', 'view'); $privs['createStruct'] = hasPriv('api', 'createStruct'); $privs['createRelease']= hasPriv('api', 'createRelease'); $privs['releases'] = hasPriv('api', 'releases');