diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/collaborationBL.php b/presentation/lookAndFeel/knowledgeTree/foldermanagement/collaborationBL.php
index d87193c..b9b9186 100644
--- a/presentation/lookAndFeel/knowledgeTree/foldermanagement/collaborationBL.php
+++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/collaborationBL.php
@@ -26,18 +26,11 @@ if (checkSession()) {
require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");
require_once("$default->fileSystemRoot/presentation/Html.inc");
- if (isset($fForAdd)) {
- //we are adding a new entry
- require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
- $oPatternCustom = & new PatternCustom();
- $oPatternCustom->setHtml(getEditPage($fFolderCollaborationID, $fFolderID));
- $main->setCentralPayload($oPatternCustom);
- $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForCreate=1");
- $main->render();
- } else if (isset($fForStore)) {
- //we are storing a new entry
+ if (isset($fForUpdate)) {
+ //we are updating
$oFolderCollaboration = & FolderCollaboration::get($fFolderCollaborationID);
$oFolderCollaboration->setGroupID($fGroupID);
+ $oFolderCollaboration->setUserID($fUserID);
if ($fRoleID != -1) {
$oFolderCollaboration->setRoleID($fRoleID);
} else {
@@ -56,9 +49,10 @@ if (checkSession()) {
//we are editing an existing entry
require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
$oPatternCustom = & new PatternCustom();
- $oPatternCustom->setHtml(getEditPage($fFolderCollaborationID, $fFolderID));
+ $oPatternCustom->setHtml(getEditPage($fFolderCollaborationID, $fFolderID, $fGroupID, $fUserID, $fRoleID, $fSequenceNumber));
$main->setCentralPayload($oPatternCustom);
- $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=editFolder&fFolderID=$fFolderID"));
+ $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForUpdate=1");
+ $main->setHasRequiredFields(true);
$main->render();
}
}
diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/collaborationUI.inc b/presentation/lookAndFeel/knowledgeTree/foldermanagement/collaborationUI.inc
index ad4138b..a7d269f 100644
--- a/presentation/lookAndFeel/knowledgeTree/foldermanagement/collaborationUI.inc
+++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/collaborationUI.inc
@@ -28,61 +28,75 @@ function getFolderPath($iFolderID) {
return "
\n";
}
-function getFolderCollaborationData($iFolderCollaborationID) {
+function getGroupDropDown($iFolderCollaborationID, $iFolderID, $iGroupID) {
global $default;
- $sQuery = "SELECT GFAL.id, GFAL.folder_id, F.name AS folder_name, GFAL.group_id, G.name AS group_name, GFAL.role_id, R.name AS role_name, GFAL.precedence " .
- "FROM $default->owl_groups_folders_approval_table AS GFAL INNER JOIN $default->owl_folders_table AS F ON GFAL.folder_id = F.id " .
- "INNER JOIN $default->owl_groups_table AS G ON GFAL.group_id = G.id " .
- "LEFT OUTER JOIN $default->owl_roles_table AS R ON GFAL.role_id = R.id " .
- "WHERE GFAL.id = $iFolderCollaborationID";
+ $oPatternListBox = & new PatternListBox($default->owl_groups_table, "Name", "ID", "fGroupID");
+ $oPatternListBox->setPostBackOnChange(true);
+ $oPatternListBox->setOnChangeAction("setActionAndSubmit('" . $_SERVER["userID"] . "?fFolderID=$iFolderID&fFolderCollaborationID=$iFolderCollaborationID');");
+ if (isset($iGroupID)) {
+ $oPatternListBox->setSelectedValue($iGroupID);
+ }
+ return $oPatternListBox->render();
- $aDisplayColumns = array("group_name", "role_name", "precedence");
- $aStoreColumns = array("group_id", "role_id", "precedence");
- $aColumnNames = array("Group","Role", "Sequence");
- $aDisplayColumnTypes = array(3,3,1);
- $aDatabaseColumnTypes = array(0,0,1);
- $aDropDownListTables = array($default->owl_groups_table, $default->owl_roles_table);
+}
+
+function getUserDropDown($iGroupID, $iUserID) {
+ global $default;
+ if (!(isset($iGroupID))) {
+ $iGroupID = -1;
+ }
+ $oPatternListBox = & new PatternListBox($default->owl_users_table, "Name", "ID", "fUserID", "UGL.group_id = $iGroupID");
+ $oPatternListBox->setFromClause("INNER JOIN $default->owl_users_groups_table AS UGL ON UGL.user_id = ST.id");
+ if (isset($iUserID)) {
+ $oPatternListBox->setSelectedValue($iUserID);
+ }
+ return $oPatternListBox->render();
- $oPatternEditableListFromQuery = & new PatternEditableListFromQuery($sQuery, $default->owl_groups_folders_approval_table, $aDisplayColumns, $aStoreColumns, $aColumnNames, $aDisplayColumnTypes, $aDatabaseColumnTypes);
- $oPatternEditableListFromQuery->setDropDownListTableNames($aDropDownListTables);
- $oPatternEditableListFromQuery->setUniqueName("folderCollab");
- $oPatternEditableListFromQuery->setColumnsRequired(0,0,1);
- return $oPatternEditableListFromQuery->render();
-
}
-function getEditPage($iFolderCollaborationID, $iFolderID) {
+function getEditPage($iFolderCollaborationID, $iFolderID, $iGroupID, $iUserID, $iRoleID, $iSequenceNumber) {
global $default;
$sToRender = renderHeading("Edit Folder Collaboration Step");
$sToRender .= getFolderPath($iFolderID);
- $sToRender .= "\n";
- $sToRender .= "\n";
- $sToRender .= "| " . getFolderCollaborationData($iFolderCollaborationID) . " | \n";
- $sToRender .= "
\n";
- $sToRender .= "\n";
- $sToRender .= "| \n";
+ $sToRender .= "\n";
+ $sToRender .= " |
\n";
+
+ $sToRender .= "\n\n\n\n";
return $sToRender;
}
-function getGroupDropDown() {
+function getRoleDropDown($iRoleID) {
global $default;
- $oPatternListBox = & new PatternListBox("$default->owl_groups_table", "name", "id", "fGroupID");
- $oPatternListBox->setIncludeDefaultValue(false);
- $oPatternListBox->setEmptyErrorMessage("There are no groups");
- return $oPatternListBox->render();
-}
-
-function getRoleDropDown() {
- global $default;
- $oPatternListBox = & new PatternListBox("$default->owl_roles_table", "name", "id", "fRoleID");
+ $oPatternListBox = & new PatternListBox("$default->owl_roles_table", "name", "id", "fRoleID");
$oPatternListBox->setEmptyErrorMessage("There are no users in this group");
+ if (isset($iRoleID)) {
+ $oPatternListBox->setSelectedValue($iRoleID);
+ }
+
return $oPatternListBox->render();
}
-function getAddPage() {
+/*function getAddPage() {
global $default;
return "\n";
-}
+}*/
?>
diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc b/presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc
index adc69f2..f77c586 100644
--- a/presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc
+++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc
@@ -106,7 +106,7 @@ function getFolderDocTypes($iFolderID) {
function getFolderRouting($iFolderID) {
global $default;
- $sQuery = "SELECT GFAL.id as id, GFAL.folder_id AS folder_id, G.name AS group_name, R.name AS role_name, GFAL.precedence AS precedence, U.id AS user_id, U.name AS user_name, 'Edit' as edit, 'Delete' as del, 'Dependant Docs' as depn " .
+ $sQuery = "SELECT GFAL.id as id, GFAL.folder_id AS folder_id, G.name AS group_name, G.id AS group_id, GFAL.role_id AS role_id, R.name AS role_name, GFAL.precedence AS precedence, U.id AS user_id, U.name AS user_name, 'Edit' as edit, 'Delete' as del, 'Dependant Docs' as depn " .
"FROM $default->owl_groups_folders_approval_table AS GFAL INNER JOIN roles AS R ON GFAL.role_id = R.id " .
"INNER JOIN $default->owl_groups_table AS G ON G.id = GFAL.group_id " .
"INNER JOIN $default->owl_users_table AS U ON U.id = GFAL.user_id " .
@@ -116,8 +116,8 @@ function getFolderRouting($iFolderID) {
$aColumns = array("group_name", "role_name", "precedence", "user_name", "edit", "del", "depn");
$aColumnHeaders = array("Group", "Role", "Seq", "User", "", "");
$aColumnTypes = array(1,1,1,1,3,3,3);
- $aDBColumnArray = array("id","folder_id","user_id");
- $aQueryStringVariableNames = array("fFolderCollaborationID", "fFolderID", "fUserID");
+ $aDBColumnArray = array("id","folder_id","group_id","user_id","precedence","role_id");
+ $aQueryStringVariableNames = array("fFolderCollaborationID", "fFolderID", "fGroupID","fUserID","fSequenceNumber","fRoleID");
$aLinkURLs = array(4=>"$default->rootUrl/control.php?action=modifyFolderCollaboration",5=>"$default->rootUrl/control.php?action=deleteFolderCollaboration", 5=>"$default->rootUrl/control.php?action=viewDependantDocument");
$oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "90%", $aLinkURLs, $aDBColumnArray,$aQueryStringVariableNames);