diff --git a/module/doc/model.php b/module/doc/model.php index cdf01db255..f330e9e424 100644 --- a/module/doc/model.php +++ b/module/doc/model.php @@ -1094,10 +1094,16 @@ class docModel extends model /* Sort project. */ $orderedProjects = array(); - $objects = $this->program->getList('all', 'order_asc', null, true); + + $objects = $this->dao->select('*')->from(TABLE_PROJECT) + ->where('type')->eq('project') + ->andWhere('deleted')->eq(0) + ->beginIF(!$this->app->user->admin)->andWhere('id')->in($this->app->user->view->projects)->fi() + ->orderBy('order_asc') + ->fetchAll('id'); + foreach($objects as $objectID => $object) { - if($object->type == 'program') continue; $object->parent = $this->program->getTopByID($object->parent); $orderedProjects[$objectID] = $object; unset($objects[$object->id]); diff --git a/module/project/control.php b/module/project/control.php index 94df7042b4..e783e49bd7 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -113,7 +113,18 @@ class project extends control /* Sort project. */ $programs = array(); $orderedProjects = array(); - $objects = $this->program->getList('all', 'order_asc', null, true); + + $objects = $this->dao->select('*')->from(TABLE_PROGRAM) + ->where('type')->in('program,project') + ->andWhere('deleted')->eq(0) + ->beginIF(!$this->app->user->admin) + ->andWhere('(id')->in($this->app->user->view->programs) + ->orWhere('id')->in($this->app->user->view->projects) + ->markRight(1) + ->fi() + ->orderBy('id_asc') + ->fetchAll('id'); + foreach($objects as $objectID => $object) { if($object->type == 'program')