From 5a44c0a0bafc8a5e2a782b5c608a18e72d77fff7 Mon Sep 17 00:00:00 2001 From: rob Date: Thu, 6 Feb 2003 10:18:37 +0000 Subject: [PATCH] Added all business logic functionality --- presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderCollaborationBL.php | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 78 insertions(+), 16 deletions(-) diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderCollaborationBL.php b/presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderCollaborationBL.php index b2acccd..0b54347 100644 --- a/presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderCollaborationBL.php +++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderCollaborationBL.php @@ -1,22 +1,84 @@ owl_fs_root/lib/visualpatterns/PatternListBox.inc"); - require_once("$default->owl_fs_root/lib/visualpatterns/PatternCreate.inc"); - require_once("addFolderCollaborationUI.inc"); - require_once("$default->owl_fs_root/lib/security/permission.inc"); - require_once("$default->owl_fs_root/presentation/webpageTemplate.inc"); - require_once("$default->owl_fs_root/lib/visualpatterns/PatternCustom.inc"); - require_once("$default->owl_fs_root/lib/foldermanagement/Folder.inc"); - require_once("$default->owl_fs_root/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); - require_once("$default->owl_fs_root/presentation/Html.inc"); - - $oPatternCustom = & new PatternCustom(); - $oPatternCustom->setHtml(getPage()); - $main->setCentralPayload($oPatternCustom); - $main->setFormAction("$default->owl_root_url/presentation/lookAndFeel/knowledgeTree/create.php"); - $main->render(); + if (isset($fFolderID)) { + //if a folder has been selected + include_once("$default->owl_fs_root/lib/foldermanagement/Folder.inc"); + include_once("$default->owl_fs_root/lib/security/permission.inc"); + if (Permission::userHasFolderWritePermission($fFolderID)) { + //can only create new collaboration steps if the user has folder write permission + if (isset($fForStore)) { + //attempt to create the new folder collaboration entry + include_once("$default->owl_fs_root/lib/foldermanagement/FolderCollaboration.inc"); + $oFolderCollaboration = & new FolderCollaboration($fFolderID, $fGroupID, $fSequenceNumber, $fRoleID); + if ($oFolderCollaboration->create()) { + //on successful creation, redirect to the folder edit page + include_once("$default->owl_fs_root/presentation/Html.inc"); + redirect("$default->owl_root_url/control.php?action=editFolder&fFolderID=$fFolderID"); + } else { + //otherwise display an error message + include_once("$default->owl_fs_root/lib/visualpatterns/PatternListBox.inc"); + include_once("$default->owl_fs_root/lib/visualpatterns/PatternCustom.inc"); + + include_once("$default->owl_fs_root/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); + include_once("$default->owl_fs_root/presentation/Html.inc"); + include_once("$default->owl_fs_root/presentation/webpageTemplate.inc"); + include_once("addFolderCollaborationUI.inc"); + + $oPatternCustom = & new PatternCustom(); + $oPatternCustom->setHtml(getPage($fFolderID, $fGroupID, $fRoleID, $fSequenceNumber)); + $main->setErrorTextMessage("The folder collaboration entry could not be created in the database"); + $main->setCentralPayload($oPatternCustom); + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForStore=1"); + $main->setHasRequiredFields(true); + $main->render(); + + } + } else { + //display the browse page + include_once("$default->owl_fs_root/lib/visualpatterns/PatternListBox.inc"); + include_once("$default->owl_fs_root/lib/visualpatterns/PatternCustom.inc"); + include_once("$default->owl_fs_root/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); + include_once("$default->owl_fs_root/presentation/Html.inc"); + include_once("$default->owl_fs_root/presentation/webpageTemplate.inc"); + include_once("addFolderCollaborationUI.inc"); + + $oPatternCustom = & new PatternCustom(); + $oPatternCustom->setHtml(getPage($fFolderID, $fGroupID, $fRoleID, $fSequenceNumber)); + $main->setCentralPayload($oPatternCustom); + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForStore=1"); + $main->setHasRequiredFields(true); + $main->render(); + } + } + } else { + //display an error message + include_once("$default->owl_fs_root/lib/visualpatterns/PatternListBox.inc"); + include_once("$default->owl_fs_root/lib/visualpatterns/PatternCustom.inc"); + include_once("$default->owl_fs_root/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); + include_once("$default->owl_fs_root/presentation/Html.inc"); + include_once("$default->owl_fs_root/presentation/webpageTemplate.inc"); + include_once("addFolderCollaborationUI.inc"); + + $oPatternCustom = & new PatternCustom(); + $oPatternCustom->setHtml(""); + $main->setCentralPayload($oPatternCustom); + $main->setErrorTextMessage("No folder currently selected"); + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForStore=1"); + $main->setHasRequiredFields(true); + $main->render(); + } } ?> -- libgit2 0.21.4