* adjust for user view.

This commit is contained in:
wangyidong
2018-09-17 11:30:31 +08:00
parent ad5c25e843
commit d75be50cd7
6 changed files with 27 additions and 4 deletions
+2 -2
View File
@@ -889,8 +889,8 @@ class docModel extends model
if(isset($extraDocLibs[$object->id])) return true;
}
if($object->project) return strpos(",{$this->app->user->view->projects},", ",{$object->project},") !== false;
if($object->product) return strpos(",{$this->app->user->view->products},", ",{$object->product},") !== false;
if($object->project) return $this->loadModel('project')->checkPriv($object->project);
if($object->product) return $this->loadModel('product')->checkPriv($object->product);
return false;
}
+3 -1
View File
@@ -1,5 +1,6 @@
<div class='container mw-800px' id="zentaoLinks">
<div class='row'>
<?php $zentaoVersion = $lang->misc->zentao->version;?>
<?php unset($lang->misc->zentao->version);?>
<?php foreach($lang->misc->zentao as $label => $groupItems):?>
<?php if(strpos(',labels,icons,version,', ",$label,") !== false) continue; ?>
@@ -18,6 +19,7 @@
</div>
</div>
<?php endforeach;?>
<?php $lang->misc->zentao->version = $zentaoVersion;?>
</div>
</div>
<style>
@@ -27,4 +29,4 @@
#zentaoLinks .panel-body {padding: 10px;}
#zentaoLinks ul {}
#zentaoLinks ul > li {line-height: 24px;}
</style>
</style>
+2
View File
@@ -216,6 +216,8 @@ class productModel extends model
*/
public function checkPriv($productID)
{
if(empty($productID)) return false;
/* Is admin? */
if($this->app->user->admin) return true;
return (strpos(",{$this->app->user->view->products},", ",{$productID},") !== false);
+3 -1
View File
@@ -25,6 +25,8 @@ class projectModel extends model
*/
public function checkPriv($projectID)
{
if(empty($projectID)) return false;
/* If is admin, return true. */
if($this->app->user->admin) return true;
return (strpos(",{$this->app->user->view->projects},", ",{$projectID},") !== false);
@@ -822,7 +824,7 @@ class projectModel extends model
{
if(!$project->product)
{
if(strpos(",{$this->app->user->view->projects},", ",{$project->id},") !== false) $noProducts[] = $project;
if($this->checkPriv($project->id)) $noProducts[] = $project;
unset($list[$id][$ID]);
}
}
+15
View File
@@ -236,6 +236,7 @@ class upgradeModel extends model
case '10_3_1':
$this->execSQL($this->getUpgradeFile('10.3.1'));
$this->removeCustomMenu();
$this->initUserView();
}
$this->deletePatch();
@@ -2429,4 +2430,18 @@ class upgradeModel extends model
}
return !dao::isError();
}
/**
* Init user view.
*
* @access public
* @return bool
*/
public function initUserView()
{
$users = $this->dao->select('account')->from(TABLE_USER)->fetchAll();
$this->loadModel('user');
foreach($users as $user) $this->user->computeUserView($user->account, $force = true);
return true;
}
}
+2
View File
@@ -1340,6 +1340,8 @@ class userModel extends model
$userView->projects = $grantProjects;
}
$userView->products = trim($userView->products, ',');
$userView->projects = trim($userView->projects, ',');
return $userView;
}