|
@@ -178,9 +178,12 @@ jQuery(document).ready(function () {
|
|
|
<tbody>
|
|
<tbody>
|
|
|
<?php $t = 1; ?>
|
|
<?php $t = 1; ?>
|
|
|
<?php foreach ($this->_projectPathsOrder as $projPath => $projId) : ?>
|
|
<?php foreach ($this->_projectPathsOrder as $projPath => $projId) : ?>
|
|
|
- <?php $projectID = $projId; ?>
|
|
|
|
|
- <?php $projectDesc = $this->_projectInfo[$projId]->M_DIST_DESC; ?>
|
|
|
|
|
- <?php $projectPath = $this->_projectInfo[$projId]->path; ?>
|
|
|
|
|
|
|
+ <?php
|
|
|
|
|
+ $projectID = $projId;
|
|
|
|
|
+ $projectDesc = $this->_projectInfo[$projId]->M_DIST_DESC;
|
|
|
|
|
+ $projectPath = $this->_projectInfo[$projId]->path;
|
|
|
|
|
+ $projectAccess = $this->hasAccessToProject($projectID);
|
|
|
|
|
+ ?>
|
|
|
<tr class="row-<?php echo ($t = 1 - $t); ?>"
|
|
<tr class="row-<?php echo ($t = 1 - $t); ?>"
|
|
|
data-proj_id="<?php echo $projectID; ?>"
|
|
data-proj_id="<?php echo $projectID; ?>"
|
|
|
data-path="<?php echo $projectPath; ?>">
|
|
data-path="<?php echo $projectPath; ?>">
|
|
@@ -188,11 +191,17 @@ jQuery(document).ready(function () {
|
|
|
<input type="checkbox" name="selectedProject" onclick="return selectProject(this);" value="<?php echo $projectID; ?>" />
|
|
<input type="checkbox" name="selectedProject" onclick="return selectProject(this);" value="<?php echo $projectID; ?>" />
|
|
|
</td>
|
|
</td>
|
|
|
<td class="p2 l nr"><nobr><?php echo $projectPath; ?></nobr></td>
|
|
<td class="p2 l nr"><nobr><?php echo $projectPath; ?></nobr></td>
|
|
|
|
|
+ <?php if (!$projectAccess) : ?>
|
|
|
|
|
+ <td class="p2">***</td>
|
|
|
|
|
+ <?php else : ?>
|
|
|
<td class="p2" style="max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;" title="<?php echo $projectDesc; ?>"><?php echo $projectDesc; ?></td>
|
|
<td class="p2" style="max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;" title="<?php echo $projectDesc; ?>"><?php echo $projectDesc; ?></td>
|
|
|
|
|
+ <?php endif; ?>
|
|
|
<?php foreach ($months as $month) : ?>
|
|
<?php foreach ($months as $month) : ?>
|
|
|
<?php $vMonthCost = $this->getCost($projectID, $month); ?>
|
|
<?php $vMonthCost = $this->getCost($projectID, $month); ?>
|
|
|
<?php $monthCostTotal = ($vMonthCost)? $vMonthCost->COST_TOTAL : 0; ?>
|
|
<?php $monthCostTotal = ($vMonthCost)? $vMonthCost->COST_TOTAL : 0; ?>
|
|
|
- <?php if (!$vMonthCost) : ?>
|
|
|
|
|
|
|
+ <?php if (!$projectAccess) : ?>
|
|
|
|
|
+ <td style="min-width:30px;text-align:right;">***</td>
|
|
|
|
|
+ <?php elseif (!$vMonthCost) : ?>
|
|
|
<td style="min-width:30px"> </td>
|
|
<td style="min-width:30px"> </td>
|
|
|
<?php else : ?>
|
|
<?php else : ?>
|
|
|
<?php
|
|
<?php
|
|
@@ -222,7 +231,9 @@ jQuery(document).ready(function () {
|
|
|
<td class="cell-plan">
|
|
<td class="cell-plan">
|
|
|
<?php $monthPlan = $this->getPlan($projectID, $month); ?>
|
|
<?php $monthPlan = $this->getPlan($projectID, $month); ?>
|
|
|
<?php $monthPlanOut = number_format($monthPlan, 2); ?>
|
|
<?php $monthPlanOut = number_format($monthPlan, 2); ?>
|
|
|
- <?php if ($monthPlan > 0) : ?>
|
|
|
|
|
|
|
+ <?php if (!$projectAccess) : ?>
|
|
|
|
|
+ ***
|
|
|
|
|
+ <?php elseif ($monthPlan > 0) : ?>
|
|
|
<?php echo $monthPlan; ?>
|
|
<?php echo $monthPlan; ?>
|
|
|
<?php else : ?>
|
|
<?php else : ?>
|
|
|
|
|
|
|
@@ -245,7 +256,11 @@ jQuery(document).ready(function () {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
?>
|
|
?>
|
|
|
|
|
+ <?php if (!$projectAccess) : ?>
|
|
|
|
|
+ <td style="min-width:30px;text-align:right;">***</td>
|
|
|
|
|
+ <?php else : ?>
|
|
|
<td class="cell-procent <?php echo $cellProcentCls; ?>"><?php echo $procentOut; ?></td>
|
|
<td class="cell-procent <?php echo $cellProcentCls; ?>"><?php echo $procentOut; ?></td>
|
|
|
|
|
+ <?php endif; ?>
|
|
|
<?php endforeach; ?>
|
|
<?php endforeach; ?>
|
|
|
</tr>
|
|
</tr>
|
|
|
<?php endforeach; ?>
|
|
<?php endforeach; ?>
|
|
@@ -570,6 +585,7 @@ jQuery(document).ready(function() {
|
|
|
|
|
|
|
|
private function _fetchProjectInfo() {
|
|
private function _fetchProjectInfo() {
|
|
|
$db = DB::getDB();
|
|
$db = DB::getDB();
|
|
|
|
|
+ $hasAccessForAllProjects = true;
|
|
|
$projectIds = array();
|
|
$projectIds = array();
|
|
|
$projectsFromCostIds = array_keys($this->_costs);
|
|
$projectsFromCostIds = array_keys($this->_costs);
|
|
|
foreach ($projectsFromCostIds as $idProject) $projectIds[$idProject] = true;
|
|
foreach ($projectsFromCostIds as $idProject) $projectIds[$idProject] = true;
|
|
@@ -578,7 +594,14 @@ jQuery(document).ready(function() {
|
|
|
foreach ($projectIds as $idProject => $vBool) $this->_projectInfo[$idProject] = new stdClass();
|
|
foreach ($projectIds as $idProject => $vBool) $this->_projectInfo[$idProject] = new stdClass();
|
|
|
$projectIds = array_keys($projectIds);
|
|
$projectIds = array_keys($projectIds);
|
|
|
$sqlProjIds = "'" . implode("','", $projectIds) . "'";
|
|
$sqlProjIds = "'" . implode("','", $projectIds) . "'";
|
|
|
- $sql = "select p.`ID`, p.`P_ID`, p.`path`, p.`M_DIST_DESC`
|
|
|
|
|
|
|
+ $sql = "
|
|
|
|
|
+ select p.`ID`
|
|
|
|
|
+ , p.`P_ID`
|
|
|
|
|
+ , p.`path`
|
|
|
|
|
+ , p.`M_DIST_DESC`
|
|
|
|
|
+ , p.`A_ADM_COMPANY` as aclGroupWrite
|
|
|
|
|
+ , p.`A_CLASSIFIED` as aclGroupRead
|
|
|
|
|
+ , p.`L_APPOITMENT_USER` as aclOwner
|
|
|
from `IN7_MK_BAZA_DYSTRYBUCJI` p
|
|
from `IN7_MK_BAZA_DYSTRYBUCJI` p
|
|
|
where p.`ID` in({$sqlProjIds})
|
|
where p.`ID` in({$sqlProjIds})
|
|
|
";
|
|
";
|
|
@@ -586,9 +609,33 @@ jQuery(document).ready(function() {
|
|
|
while ($r = $db->fetch($res)) {
|
|
while ($r = $db->fetch($res)) {
|
|
|
$this->_projectInfo[$r->ID]->path = $r->path;
|
|
$this->_projectInfo[$r->ID]->path = $r->path;
|
|
|
$this->_projectInfo[$r->ID]->M_DIST_DESC = $r->M_DIST_DESC;
|
|
$this->_projectInfo[$r->ID]->M_DIST_DESC = $r->M_DIST_DESC;
|
|
|
|
|
+ $this->_projectInfo[$r->ID]->hasAccess = $this->_userHasAccessToProject($r);
|
|
|
|
|
+ if (!$this->_projectInfo[$r->ID]->hasAccess) $hasAccessForAllProjects = false;
|
|
|
}
|
|
}
|
|
|
$this->_projectInfo[0]->path = '0';
|
|
$this->_projectInfo[0]->path = '0';
|
|
|
$this->_projectInfo[0]->M_DIST_DESC = "Wszystkie projekty";
|
|
$this->_projectInfo[0]->M_DIST_DESC = "Wszystkie projekty";
|
|
|
|
|
+ $this->_projectInfo[0]->hasAccess = $hasAccessForAllProjects;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public function hasAccessToProject($idProject) {
|
|
|
|
|
+ if ($idProject >= 0) {
|
|
|
|
|
+ if (array_key_exists($idProject, $this->_projectInfo)) {
|
|
|
|
|
+ return V::get('hasAccess', false, $this->_projectInfo[$idProject]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private function _userHasAccessToProject($project) {
|
|
|
|
|
+ $groups = User::getLdapGroupsNames();
|
|
|
|
|
+ $userLogin = User::getLogin();
|
|
|
|
|
+ if ($project->aclOwner == $userLogin) {
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (in_array($project->aclGroupRead, $groups)) {
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ return false;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private function _reacountCostsFromKoresp() {
|
|
private function _reacountCostsFromKoresp() {
|