Commit 075a1db1c27db045865d4d67f24a01d35bffbbf7

Authored by nbm
1 parent 728b370e

Use the Folder addPermissions method instead of a local copy.


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3120 c91229c3-7414-0410-bfa2-8a42b809f60b
presentation/lookAndFeel/knowledgeTree/foldermanagement/addGroupFolderLinkBL.php
... ... @@ -42,45 +42,70 @@ include_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc");
42 42 include_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");
43 43 include_once("groupFolderLinkUI.inc");
44 44  
45   -if (checkSession()) {
46   - if (isset($fFolderID)) {
47   - $oPatternCustom = & new PatternCustom();
48   - $oPatternCustom->setHtml("");
49   - $oFolder = Folder::get($fFolderID);
50   - // if a folder has been selected
51   - if (Permission::userHasFolderWritePermission($oFolder)) {
52   - // can only add access if the user has folder write permission
53   - if (isset($fForStore)) {
54   - // attempt to create the new folder access entry
55   - $oGroupFolderLink = & new GroupFolderLink($fFolderID, $fGroupID, $fCanRead, $fCanWrite);
56   - // check if exists for the fFolderID, fGroupID combination
57   - if (!$oGroupFolderLink->exists()) {
58   - if ($oGroupFolderLink->create()) {
59   - // on successful creation, redirect to the folder edit page
60   - controllerRedirect("editFolder", "fFolderID=$fFolderID&fShowSection=folderPermissions");
61   - } else {
62   - //otherwise display an error message
63   - $sErrorMessage = _("The folder access entry could not be created in the database");
64   - $oPatternCustom->setHtml(getPage($fFolderID));
65   - }
66   - } else {
67   - $sErrorMessage = _("A folder access entry for the selected folder and group already exists.");
68   - $oPatternCustom->setHtml(renderErrorPage($sErrorMessage, $fFolderID));
69   - }
70   - } else {
71   - // display the browse page
72   - $oPatternCustom->setHtml(getAddPage($fFolderID));
73   - }
74   - }
75   - } else {
76   - //display an error message
77   - $sErrorMessage = _("No folder currently selected");
78   - }
79   -
80   - include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
  45 +if (!checkSession()) {
  46 + die();
  47 +}
  48 +include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
  49 +
  50 +$oPatternCustom = & new PatternCustom();
  51 +$oPatternCustom->setHtml("");
  52 +
  53 +if (!isset($fFolderID)) {
  54 + //display an error message
  55 + $sErrorMessage = _("No folder currently selected");
  56 + $oPatternCustom->setHtml(renderErrorPage($sErrorMessage, $fFolderID));
  57 + $main->setCentralPayload($oPatternCustom);
  58 + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForStore=1");
  59 + $main->setHasRequiredFields(true);
  60 + $main->render();
  61 + exit(0);
  62 +}
  63 +
  64 +$oFolder = Folder::get($fFolderID);
  65 +// if a folder has been selected
  66 +if (!Permission::userHasFolderWritePermission($oFolder)) {
  67 + $sErrorMessage = _("You do not have permission to edit this folder");
  68 + $oPatternCustom->setHtml(renderErrorPage($sErrorMessage, $fFolderID));
  69 + $main->setCentralPayload($oPatternCustom);
  70 + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForStore=1");
  71 + $main->setHasRequiredFields(true);
  72 + $main->render();
  73 + exit(0);
  74 +}
  75 +
  76 +// can only add access if the user has folder write permission
  77 +if (!isset($fForStore)) {
  78 + // display the browse page
  79 + $oPatternCustom->setHtml(getAddPage($fFolderID));
81 80 $main->setCentralPayload($oPatternCustom);
82 81 $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForStore=1");
83 82 $main->setHasRequiredFields(true);
84 83 $main->render();
  84 + exit(0);
85 85 }
  86 +
  87 +$oGroup =& Group::get($fGroupID);
  88 +if (!$oGroup) {
  89 + $sErrorMessage = _("The given group does not exist");
  90 + $oPatternCustom->setHtml(renderErrorPage($sErrorMessage, $fFolderID));
  91 + $main->setCentralPayload($oPatternCustom);
  92 + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForStore=1");
  93 + $main->setHasRequiredFields(true);
  94 + $main->render();
  95 + exit(0);
  96 +}
  97 +
  98 +$res = $oFolder->addPermission($oGroup, $fCanRead, $fCanWrite);
  99 +
  100 +if (PEAR::isError($res)) {
  101 + $oPatternCustom->setHtml(renderErrorPage($res->getMessage(), $fFolderID));
  102 + $main->setCentralPayload($oPatternCustom);
  103 + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForStore=1");
  104 + $main->setHasRequiredFields(true);
  105 + $main->render();
  106 + exit(0);
  107 +}
  108 +
  109 +controllerRedirect("editFolder", "fFolderID=$fFolderID&fShowSection=folderPermissions");
  110 +
86 111 ?>
... ...