diff --git a/plugins/ktcore/folder/Permissions.php b/plugins/ktcore/folder/Permissions.php
index 272580d..5d1d867 100644
--- a/plugins/ktcore/folder/Permissions.php
+++ b/plugins/ktcore/folder/Permissions.php
@@ -104,6 +104,29 @@ class KTFolderPermissionsAction extends KTFolderAction {
$iInheritedFolderId = $oInherited->getId();
$sInherited = join(" » ", $oInherited->getPathArray());
}
+
+ $aConditions = array();
+ $aDynConditions = KTPermissionDynamicCondition::getByPermissionObject($oPO);
+
+ foreach ($aDynConditions as $oDynCondition) {
+ $g = Group::get($oDynCondition->getGroupId());
+
+ if (PEAR::isError($g)) { continue; }
+ $c = KTSavedSearch::get($oDynCondition->getConditionId());
+ if (PEAR::isError($c)) { continue; }
+
+ $aInfo = array(
+ 'group' => $g->getName(),
+ 'name' => $c->getName(),
+ );
+ $aAssign = $oDynCondition->getAssignment();
+ $perms = array();
+ foreach ($aAssign as $iPermissionId) {
+ $perms[$iPermissionId] = true;
+ }
+ $aInfo['perms'] = $perms;
+ $aConditions[] = $aInfo;
+ }
$aTemplateData = array(
"context" => $this,
@@ -118,6 +141,7 @@ class KTFolderPermissionsAction extends KTFolderAction {
"edit" => $bEdit,
"inherited" => $sInherited,
'foldername' => $this->oFolder->getName(),
+ 'conditions' => $aConditions,
);
return $oTemplate->render($aTemplateData);
}
@@ -177,7 +201,8 @@ class KTFolderPermissionsAction extends KTFolderAction {
"aMapPermissionUser" => $aMapPermissionUser,
"edit" => $bEdit,
"inherited" => $sInherited,
- 'foldername' => $this->oFolder->getName(),
+ 'foldername' => $this->oFolder->getName(),
+ "iFolderId" => $this->oFolder->getId(),
);
return $oTemplate->render($aTemplateData);
}
@@ -247,13 +272,15 @@ class KTFolderPermissionsAction extends KTFolderAction {
$aTemplateData = array(
"iFolderId" => $this->oFolder->getId(),
- 'roles' => Role::getList(),
- 'groups' => Group::getList(),
+ 'roles' => Role::getList(),
+ 'groups' => Group::getList(),
"conditions" => KTSavedSearch::getConditions(),
"dynamic_conditions" => $aDynamicConditions,
'context' => &$this,
'foldername' => $this->oFolder->getName(),
- 'jsonpermissions' => $sJSONPermissions,
+ 'jsonpermissions' => $sJSONPermissions,
+ 'edit' => true,
+ 'permissions' => KTPermission::getList(),
);
return $oTemplate->render($aTemplateData);
}
@@ -390,14 +417,14 @@ class KTFolderPermissionsAction extends KTFolderAction {
foreach ($aPermissions as $oPermission) {
$iPermId = $oPermission->getId();
- print 'permission: ' . $oPermission->getName() . '
';
- var_dump(KTUtil::arrayGet($aFoo, $iPermId, false)); print '
';
+ //print 'permission: ' . $oPermission->getName() . '
';
+ //var_dump(KTUtil::arrayGet($aFoo, $iPermId, false)); print '
';
$aAllowed = KTUtil::arrayGet($aFoo, $iPermId, array());
KTPermissionUtil::setPermissionForId($oPermission, $oPO, $aAllowed);
}
- exit(0);
+ //exit(0);
$oTransaction = KTFolderTransaction::createFromArray(array(
'folderid' => $this->oFolder->getId(),
diff --git a/templates/ktcore/folder/permissions.smarty b/templates/ktcore/folder/permissions.smarty
index e699ece..1e7143e 100644
--- a/templates/ktcore/folder/permissions.smarty
+++ b/templates/ktcore/folder/permissions.smarty
@@ -10,7 +10,9 @@
{else}
{* otherwise continue *}
-
{i18n}Manage security{/i18n}: {i18n}View resolved permissions for user{/i18n}
+{i18n}Manage security{/i18n}: {i18n}View permissions overview{/i18n} +| {i18n}View resolved permissions for user{/i18n} +
{i18n}No users have permissions on this item.{/i18n}
{i18n}Manage security{/i18n}: {i18n}Edit permissions{/i18n}
+{i18n}Manage security{/i18n}: {i18n}View permissions overview{/i18n} +| {i18n}Edit permissions{/i18n}
| {i18n}User: {/i18n} {$oUser->getName()} | { assign var=iUserId value=$oUser->getId() } { foreach item=oPerm from=$permissions } @@ -100,3 +102,37 @@ value="{$iGroupId}">
| {i18n}Group{/i18n} | +{i18n}Condition{/i18n} | +{foreach from=$permissions item=oPerm} +{$oPerm->getHumanName()} | +{/foreach} +|
|---|---|---|---|
| {$aInfo.group} | +{$aInfo.name} | +{foreach from=$permissions item=oPerm} + {assign var=perm_id value=$oPerm->getId()} + { if $aInfo.perms.$perm_id } +{i18n}Allowed{/i18n} | + { else } +{i18n}Denied{/i18n} | + { /if } +{/foreach} +