* adjust for user view.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1340,6 +1340,8 @@ class userModel extends model
|
||||
$userView->projects = $grantProjects;
|
||||
}
|
||||
|
||||
$userView->products = trim($userView->products, ',');
|
||||
$userView->projects = trim($userView->projects, ',');
|
||||
return $userView;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user