diff --git a/module/action/model.php b/module/action/model.php index cc3f9d8f59..bbbcb8bdcf 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -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])) { diff --git a/module/api/model.php b/module/api/model.php index db6c44d62b..8f3dd3312f 100644 --- a/module/api/model.php +++ b/module/api/model.php @@ -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'); + } } diff --git a/module/doc/model.php b/module/doc/model.php index 5b01bce0c7..84a8c08b87 100644 --- a/module/doc/model.php +++ b/module/doc/model.php @@ -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)