* Code for task #90780.

This commit is contained in:
tianshujie
2023-04-12 09:28:15 +08:00
parent 324dfe4650
commit ab05c059eb
3 changed files with 21 additions and 5 deletions
+3 -1
View File
@@ -1307,11 +1307,13 @@ class actionModel extends model
$shadowProducts = $this->dao->select('id')->from(TABLE_PRODUCT)->where('shadow')->eq(1)->fetchPairs();
$projectMultiples = $this->dao->select('id,type,multiple')->from(TABLE_PROJECT)->where('id')->in($projectIdList)->fetchAll('id');
$docList = $this->loadModel('doc')->getPrivDocs();
$docLibList = $this->doc->getLibs();
$apiList = $this->loadModel('api')->getPrivApis();
$docLibList = $this->doc->getLibs('hasApi');
foreach($actions as $i => $action)
{
if($action->objectType == 'doc' and !isset($docList[$action->objectID])) unset($actions[$i]);
if($action->objectType == 'api' and !isset($apiList[$action->objectID])) unset($actions[$i]);
if($action->objectType == 'doclib' and !isset($docLibList[$action->objectID])) unset($actions[$i]);
if($action->objectType == 'product' AND isset($shadowProducts[$action->objectID]))
{
+14
View File
@@ -1031,4 +1031,18 @@ class apiModel extends model
return array($normalObjects, $closedObjects);
}
/**
* Get priv Apis..
*
* @access public
* @return array
*/
public function getPrivApis()
{
$libs = $this->loadModel('doc')->getLibs('api');
return $this->dao->select('id')->from(TABLE_API)
->where('lib')->in(array_keys($libs))
->fetchAll('id');
}
}
+4 -4
View File
@@ -64,7 +64,7 @@ class docModel extends model
/**
* Get libraries.
*
* @param string $type
* @param string $type all|includeDeleted|hasApi|mine|product|project|execution|custom
* @param string $extra
* @param string $appendLibs
* @param int $objectID
@@ -90,7 +90,7 @@ class docModel extends model
$stmt = $this->dao->select('*')->from(TABLE_DOCLIB)
->where('deleted')->eq(0)
->andWhere('vision')->eq($this->config->vision)
->beginIF($type)->andWhere('type')->eq($type)->fi()
->beginIF($type != 'hasApi')->andWhere('type')->eq($type)->fi()
->beginIF(!$type)->andWhere('type')->ne('api')->fi()
->beginIF($objectID and strpos(',product,project,execution,', ",$type,") !== false)->andWhere($type)->eq($objectID)->fi()
->orderBy('id_asc')
@@ -717,7 +717,7 @@ class docModel extends model
* @param int $module
* @param string $mode normal|all
* @access public
* @return void
* @return array
*/
public function getPrivDocs($libIdList = array(), $module = 0, $mode = 'normal')
{
@@ -3361,7 +3361,7 @@ class docModel extends model
public function getDynamic($pager = null)
{
$actions = $this->dao->select('*')->from(TABLE_ACTION)
->where('objectType')->in('doclib,doc')
->where('objectType')->in('doclib,doc,api')
->andWhere('vision')->eq($this->config->vision)
->orderBy('date_desc')
->page($pager)