* Adjust Kanban permissions.

This commit is contained in:
tianshujie
2021-12-22 13:48:47 +08:00
parent dab44100d5
commit 84e368ccab
3 changed files with 18 additions and 11 deletions
+12 -5
View File
@@ -868,7 +868,7 @@ class kanbanModel extends model
$account = $this->app->user->account;
foreach($objects as $objectID => $object)
{
if($object->acl == 'private')
if($object->acl == 'private' or $object->acl == 'extend')
{
$remove = true;
if($object->owner == $account) $remove = false;
@@ -880,8 +880,8 @@ class kanbanModel extends model
$spaceTeam = isset($spaceList[$object->space]->team) ? trim($spaceList[$object->space]->team, ',') : '';
$spaceWhiteList = isset($spaceList[$object->space]->whitelist) ? trim($spaceList[$object->space]->whitelist, ',') : '';
if(strpos(",$spaceOwner,", ",$account,") !== false) $remove = false;
if(strpos(",$spaceTeam,", ",$account,") !== false) $remove = false;
if(strpos(",$spaceWhiteList,", ",$account,") !== false) $remove = false;
if(strpos(",$spaceTeam,", ",$account,") !== false and $object->acl == 'extend') $remove = false;
if(strpos(",$spaceWhiteList,", ",$account,") !== false and $object->acl == 'extend') $remove = false;
}
if($remove) unset($objects[$objectID]);
@@ -1095,10 +1095,11 @@ class kanbanModel extends model
if($kanban->acl == 'extend')
{
$spaceAcl = $this->dao->select('acl')->from(TABLE_KANBANSPACE)->where('id')->eq($kanban->space)->fetch('acl');
$kanban->acl = $spaceAcl ? $spaceAcl : 'open';
$kanban->acl = $spaceAcl == 'open' ? 'open' : 'extend';
}
}
$this->dao->insert(TABLE_KANBAN)->data($kanban)
->autoCheck()
->batchCheck($this->config->kanban->create->requiredFields, 'notempty')
@@ -1138,7 +1139,13 @@ class kanbanModel extends model
->remove('uid,contactListMenu')
->get();
$kanban->whitelist = $kanban->acl == 'open' ? '' : $kanban->whitelist;
if($kanban->acl == 'extend')
{
$spaceAcl = $this->dao->select('acl')->from(TABLE_KANBANSPACE)->where('id')->eq($kanban->space)->fetch('acl');
$kanban->acl = $spaceAcl == 'open' ? 'open' : 'extend';
$kanban->whitelist = $kanban->acl == 'open' ? '' : $kanban->whitelist;
}
$kanban = $this->loadModel('file')->processImgURL($kanban, $this->config->kanban->editor->edit['id'], $this->post->uid);
+1 -1
View File
@@ -53,7 +53,7 @@
</tr>
<tr>
<th><?php echo $lang->kanban->acl;?></th>
<td colspan='2'><?php echo nl2br(html::radio('acl', $lang->kanban->aclList, $kanban->acl, "onclick='setWhite(this.value);'", 'block'));?></td>
<td colspan='2'><?php echo nl2br(html::radio('acl', $lang->kanban->aclList, $kanban->acl == 'open' ? 'extend' : $kanban->acl, "onclick='setWhite(this.value);'", 'block'));?></td>
</tr>
<tr id="whitelistBox">
<th><?php echo $lang->whitelist;?></th>
+5 -5
View File
@@ -59,17 +59,17 @@ $canCreateLane = commonModel::hasPriv('kanban', 'createLane');
</ul>
<?php endif;?>
</span>
<?php $canViewviewArchivedCard = commonModel::hasPriv('kanban', 'viewArchivedCard');?>
<?php $canViewviewArchivedColumn = commonModel::hasPriv('kanban', 'viewArchivedColumn');?>
<?php if($canViewviewArchivedCard or $canViewviewArchivedColumn):?>
<?php $canViewArchivedCard = commonModel::hasPriv('kanban', 'viewArchivedCard');?>
<?php $canViewArchivedColumn = commonModel::hasPriv('kanban', 'viewArchivedColumn');?>
<?php if($canViewArchivedCard or $canViewArchivedColumn):?>
<span>
<button data-toggle="dropdown" class="btn btn-link action" type="button" title=<?php echo $this->lang->kanban->archived;?>>
<span><?php echo $this->lang->kanban->archived;?></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu pull-right">
<?php if($canViewviewArchivedCard) echo '<li>' . html::a("javascript:loadMore(\"card\", $region->id)", '<i class="icon icon-card-archive"></i>' . $this->lang->kanban->viewArchivedCard) . '</li>';?>
<?php if($canViewviewArchivedColumn) echo '<li>' . html::a("javascript:loadMore(\"Column\", $region->id)", '<i class="icon icon-col-archive"></i>' . $this->lang->kanban->viewArchivedColumn) . '</li>';?>
<?php if($canViewArchivedCard) echo '<li>' . html::a("javascript:loadMore(\"card\", $region->id)", '<i class="icon icon-card-archive"></i>' . $this->lang->kanban->viewArchivedCard) . '</li>';?>
<?php if($canViewArchivedColumn) echo '<li>' . html::a("javascript:loadMore(\"Column\", $region->id)", '<i class="icon icon-col-archive"></i>' . $this->lang->kanban->viewArchivedColumn) . '</li>';?>
</ul>
</span>
<?php endif;?>