diff --git a/module/common/model.php b/module/common/model.php index c164a9fba2..0c1b6de31e 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -1397,19 +1397,19 @@ EOD; if($module == 'effort' and ($method == 'batchcreate' or $method == 'createforobject')) return true; // limited project + $limitedProject = false; if(!empty($module) && $module == 'task' && !empty($object->project) or - !empty($module) && $module == 'project' && !empty($object->id)) + !empty($module) && $module == 'project' && !empty($object->id) + ) { - $limitedProject = false; $objectID = ''; - if(!empty($object->id)) $objectID = $object->id; - if(!empty($object->id) && !empty($object->project)) $objectID = $object->project; + if($module == 'project' and !empty($object->id)) $objectID = $object->id; + if($module == 'task' and !empty($object->project))$objectID = $object->project; $limitedProjects = !empty($_SESSION['limitedProjects']) ? $_SESSION['limitedProjects'] : ''; if(strpos(",{$limitedProjects},", ",$objectID,") !== false) $limitedProject = true; - if(empty($app->user->rights['rights']['my']['limited']) && !$limitedProject) return true; } - if(empty($app->user->rights['rights']['my']['limited'])) return true; + if(empty($app->user->rights['rights']['my']['limited']) && !$limitedProject) return true; if(!is_null($method) && strpos($method, 'batch') === 0) return false; if(!is_null($method) && strpos($method, 'link') === 0) return false; diff --git a/module/project/view/grouptask.html.php b/module/project/view/grouptask.html.php index 1a598663ec..652834fff9 100644 --- a/module/project/view/grouptask.html.php +++ b/module/project/view/grouptask.html.php @@ -67,8 +67,10 @@ project = $projectID; $link = $this->createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')); - if(common::hasPriv('task', 'create')) echo html::a($link, " {$lang->task->create}", '', "class='btn btn-primary'"); + if(common::hasPriv('task', 'create', $checkObject)) echo html::a($link, " {$lang->task->create}", '', "class='btn btn-primary'"); ?> @@ -77,7 +79,7 @@

task->noTask;?> - + youCould;?> createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')), " " . $lang->task->create, '', "class='btn btn-info'");?> diff --git a/module/project/view/kanban.html.php b/module/project/view/kanban.html.php index a4246b7c18..b5b8d54c2c 100644 --- a/module/project/view/kanban.html.php +++ b/module/project/view/kanban.html.php @@ -35,8 +35,10 @@

createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')) : '#'; + $checkObject = new stdclass(); + $checkObject->project = $projectID; + $misc = common::hasPriv('task', 'create', $checkObject) ? "class='btn btn-primary'" : "class='btn btn-primary disabled'"; + $link = common::hasPriv('task', 'create', $checkObject) ? $this->createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')) : '#'; echo html::a($link, "" . $lang->task->create, '', $misc); ?> @@ -67,7 +69,7 @@ $account = $this->app->user->account;

task->noTask;?> - + youCould;?> createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')), " " . $lang->task->create, '', "class='btn btn-info'");?> diff --git a/module/project/view/task.html.php b/module/project/view/task.html.php index 752203ac97..5375481754 100644 --- a/module/project/view/task.html.php +++ b/module/project/view/task.html.php @@ -144,11 +144,13 @@ js::set('browseType', $browseType);

project = $projectID; $link = $this->createLink('task', 'batchCreate', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')); - if(common::hasPriv('task', 'batchCreate')) echo html::a($link, " {$lang->task->batchCreate}", '', "class='btn btn btn-secondary'"); + if(common::hasPriv('task', 'batchCreate', $checkObject)) echo html::a($link, " {$lang->task->batchCreate}", '', "class='btn btn btn-secondary'"); $link = $this->createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')); - if(common::hasPriv('task', 'create')) echo html::a($link, " {$lang->task->create}", '', "class='btn btn-primary'"); + if(common::hasPriv('task', 'create', $checkObject)) echo html::a($link, " {$lang->task->create}", '', "class='btn btn-primary'"); ?> @@ -169,7 +171,7 @@ js::set('browseType', $browseType);

task->noTask;?> - + youCould;?> createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')), " " . $lang->task->create, '', "class='btn btn-info'");?> diff --git a/module/project/view/taskheader.html.php b/module/project/view/taskheader.html.php index 3bcd3361c5..3f2016ffbe 100644 --- a/module/project/view/taskheader.html.php +++ b/module/project/view/taskheader.html.php @@ -125,12 +125,14 @@

createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')) : '#'; + $checkObject = new stdclass(); + $checkObject->project = $projectID; + $misc = common::hasPriv('task', 'create', $checkObject) ? "class='btn btn-primary'" : "class='btn btn-primary disabled'"; + $link = common::hasPriv('task', 'create', $checkObject) ? $this->createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')) : '#'; echo html::a($link, "" . $lang->task->create, '', $misc); - $misc = common::hasPriv('task', 'batchCreate', $project) ? '' : "disabled"; - $link = common::hasPriv('task', 'batchCreate', $project) ? $this->createLink('task', 'batchCreate', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')) : '#'; + $misc = common::hasPriv('task', 'batchCreate', $checkObject) ? '' : "disabled"; + $link = common::hasPriv('task', 'batchCreate', $checkObject) ? $this->createLink('task', 'batchCreate', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')) : '#'; ?>
@@ -63,7 +65,7 @@

task->noTask;?> - + youCould;?> createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')), " " . $lang->task->create, '', "class='btn btn-info'");?>