Commit 9777a278f56a2363df77169b35b123b3469e859f

Authored by rob
1 parent 113ba37d

Updated function to edit a collaboration step


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@2029 c91229c3-7414-0410-bfa2-8a42b809f60b
presentation/lookAndFeel/knowledgeTree/foldermanagement/collaborationBL.php
@@ -26,18 +26,11 @@ if (checkSession()) { @@ -26,18 +26,11 @@ if (checkSession()) {
26 require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); 26 require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");
27 require_once("$default->fileSystemRoot/presentation/Html.inc"); 27 require_once("$default->fileSystemRoot/presentation/Html.inc");
28 28
29 - if (isset($fForAdd)) {  
30 - //we are adding a new entry  
31 - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");  
32 - $oPatternCustom = & new PatternCustom();  
33 - $oPatternCustom->setHtml(getEditPage($fFolderCollaborationID, $fFolderID));  
34 - $main->setCentralPayload($oPatternCustom);  
35 - $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForCreate=1");  
36 - $main->render();  
37 - } else if (isset($fForStore)) {  
38 - //we are storing a new entry 29 + if (isset($fForUpdate)) {
  30 + //we are updating
39 $oFolderCollaboration = & FolderCollaboration::get($fFolderCollaborationID); 31 $oFolderCollaboration = & FolderCollaboration::get($fFolderCollaborationID);
40 $oFolderCollaboration->setGroupID($fGroupID); 32 $oFolderCollaboration->setGroupID($fGroupID);
  33 + $oFolderCollaboration->setUserID($fUserID);
41 if ($fRoleID != -1) { 34 if ($fRoleID != -1) {
42 $oFolderCollaboration->setRoleID($fRoleID); 35 $oFolderCollaboration->setRoleID($fRoleID);
43 } else { 36 } else {
@@ -56,9 +49,10 @@ if (checkSession()) { @@ -56,9 +49,10 @@ if (checkSession()) {
56 //we are editing an existing entry 49 //we are editing an existing entry
57 require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); 50 require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
58 $oPatternCustom = & new PatternCustom(); 51 $oPatternCustom = & new PatternCustom();
59 - $oPatternCustom->setHtml(getEditPage($fFolderCollaborationID, $fFolderID)); 52 + $oPatternCustom->setHtml(getEditPage($fFolderCollaborationID, $fFolderID, $fGroupID, $fUserID, $fRoleID, $fSequenceNumber));
60 $main->setCentralPayload($oPatternCustom); 53 $main->setCentralPayload($oPatternCustom);
61 - $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=editFolder&fFolderID=$fFolderID")); 54 + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForUpdate=1");
  55 + $main->setHasRequiredFields(true);
62 $main->render(); 56 $main->render();
63 } 57 }
64 } 58 }
presentation/lookAndFeel/knowledgeTree/foldermanagement/collaborationUI.inc
@@ -28,61 +28,75 @@ function getFolderPath($iFolderID) { @@ -28,61 +28,75 @@ function getFolderPath($iFolderID) {
28 return "<table border=\"0\" width = 100%><tr><td bgcolor=\"$sTDBGColour\">$sFolderPathLink</td></tr></table>\n"; 28 return "<table border=\"0\" width = 100%><tr><td bgcolor=\"$sTDBGColour\">$sFolderPathLink</td></tr></table>\n";
29 } 29 }
30 30
31 -function getFolderCollaborationData($iFolderCollaborationID) { 31 +function getGroupDropDown($iFolderCollaborationID, $iFolderID, $iGroupID) {
32 global $default; 32 global $default;
33 - $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 " .  
34 - "FROM $default->owl_groups_folders_approval_table AS GFAL INNER JOIN $default->owl_folders_table AS F ON GFAL.folder_id = F.id " .  
35 - "INNER JOIN $default->owl_groups_table AS G ON GFAL.group_id = G.id " .  
36 - "LEFT OUTER JOIN $default->owl_roles_table AS R ON GFAL.role_id = R.id " .  
37 - "WHERE GFAL.id = $iFolderCollaborationID"; 33 + $oPatternListBox = & new PatternListBox($default->owl_groups_table, "Name", "ID", "fGroupID");
  34 + $oPatternListBox->setPostBackOnChange(true);
  35 + $oPatternListBox->setOnChangeAction("setActionAndSubmit('" . $_SERVER["userID"] . "?fFolderID=$iFolderID&fFolderCollaborationID=$iFolderCollaborationID');");
  36 + if (isset($iGroupID)) {
  37 + $oPatternListBox->setSelectedValue($iGroupID);
  38 + }
  39 + return $oPatternListBox->render();
38 40
39 - $aDisplayColumns = array("group_name", "role_name", "precedence");  
40 - $aStoreColumns = array("group_id", "role_id", "precedence");  
41 - $aColumnNames = array("Group","Role", "Sequence");  
42 - $aDisplayColumnTypes = array(3,3,1);  
43 - $aDatabaseColumnTypes = array(0,0,1);  
44 - $aDropDownListTables = array($default->owl_groups_table, $default->owl_roles_table); 41 +}
  42 +
  43 +function getUserDropDown($iGroupID, $iUserID) {
  44 + global $default;
  45 + if (!(isset($iGroupID))) {
  46 + $iGroupID = -1;
  47 + }
  48 + $oPatternListBox = & new PatternListBox($default->owl_users_table, "Name", "ID", "fUserID", "UGL.group_id = $iGroupID");
  49 + $oPatternListBox->setFromClause("INNER JOIN $default->owl_users_groups_table AS UGL ON UGL.user_id = ST.id");
  50 + if (isset($iUserID)) {
  51 + $oPatternListBox->setSelectedValue($iUserID);
  52 + }
  53 + return $oPatternListBox->render();
45 54
46 - $oPatternEditableListFromQuery = & new PatternEditableListFromQuery($sQuery, $default->owl_groups_folders_approval_table, $aDisplayColumns, $aStoreColumns, $aColumnNames, $aDisplayColumnTypes, $aDatabaseColumnTypes);  
47 - $oPatternEditableListFromQuery->setDropDownListTableNames($aDropDownListTables);  
48 - $oPatternEditableListFromQuery->setUniqueName("folderCollab");  
49 - $oPatternEditableListFromQuery->setColumnsRequired(0,0,1);  
50 - return $oPatternEditableListFromQuery->render();  
51 -  
52 } 55 }
53 56
54 -function getEditPage($iFolderCollaborationID, $iFolderID) { 57 +function getEditPage($iFolderCollaborationID, $iFolderID, $iGroupID, $iUserID, $iRoleID, $iSequenceNumber) {
55 global $default; 58 global $default;
56 $sToRender = renderHeading("Edit Folder Collaboration Step"); 59 $sToRender = renderHeading("Edit Folder Collaboration Step");
57 $sToRender .= getFolderPath($iFolderID); 60 $sToRender .= getFolderPath($iFolderID);
58 - $sToRender .= "<table border=\"0\" width=\"100%\">\n";  
59 - $sToRender .= "<tr>\n";  
60 - $sToRender .= "<td>" . getFolderCollaborationData($iFolderCollaborationID) . "</td>\n";  
61 - $sToRender .= "</tr>\n";  
62 - $sToRender .= "<tr>\n";  
63 - $sToRender .= "<td><table><tr><td><input type=\"image\" src=\"$default->graphicsUrl/widgets/update.gif\" border=\"0\"/></td><td><a href=\"$default->rootUrl/control.php?action=editFolder&fFolderID=" . $iFolderID . "\"><img src=\"$default->graphicsUrl/widgets/cancel.gif\" border=\"0\" /></a></td></tr></table>\n"; 61 + $sToRender .= "<table>\n";
  62 + $sToRender .= "<tr>\n";
  63 + $sToRender .= "<td>Group</td><td>" . getGroupDropDown($iFolderCollaborationID, $iFolderID, $iGroupID) . "</td>\n";
  64 + $sToRender .= "</tr>";
  65 + $sToRender .= "<tr>\n";
  66 + $sToRender .= "<td>User</td><td>" . getUserDropDown($iGroupID, $iUserID) . "</td>\n";
  67 + $sToRender .= "</tr>";
  68 + $sToRender .= "<tr>\n";
  69 + $sToRender .= "<td>Role</td><td>" . getRoleDropDown($iRoleID) . "</td>\n";
  70 + $sToRender .= "</tr>";
  71 + $sToRender .= "<tr>\n";
  72 + $sToRender .= "<td>Sequence</td><td><input type=\"text\" name=\"fSequenceNumber\" value=\"$iSequenceNumber\" /></td>\n";
  73 + $sToRender .= "</tr>";
  74 + $sToRender .= "<td><table><tr><td><input type=\"image\" src=\"$default->graphicsUrl/widgets/update.gif\" border=\"0\"/></td><td><a href=\"$default->rootUrl/control.php?action=editFolder&fFolderID=" . $iFolderID . "\" /></a></td></tr></table>\n";
64 $sToRender .= "</tr>\n"; 75 $sToRender .= "</tr>\n";
65 - $sToRender .= "</table>\n"; 76 + $sToRender .= "</table>\n";
  77 +
  78 + $sToRender .= "\n\n<script language=\"javascript\">\n<!--\n";
  79 + $sToRender .= "function validateForm(theForm) {\n";
  80 + $sToRender .= "\tif (!(validRequired(theForm.fGroupID,'Group')) || !(validRequired(theForm.fUserID,'User')) || !(validRequired(theForm.fRoleID,'Role')) || !(validNum(theForm.fSequenceNumber,'Sequence no.')) || !(validRequired(theForm.fSequenceNumber,'Sequence no.'))) {\n";
  81 + $sToRender .= "\t\treturn false;\n\t}\n";
  82 + $sToRender .= "return true;\n}\n";
  83 + $sToRender .= "//-->\n</script>\n\n";
66 84
67 return $sToRender; 85 return $sToRender;
68 } 86 }
69 87
70 -function getGroupDropDown() { 88 +function getRoleDropDown($iRoleID) {
71 global $default; 89 global $default;
72 - $oPatternListBox = & new PatternListBox("$default->owl_groups_table", "name", "id", "fGroupID");  
73 - $oPatternListBox->setIncludeDefaultValue(false);  
74 - $oPatternListBox->setEmptyErrorMessage("There are no groups");  
75 - return $oPatternListBox->render();  
76 -}  
77 -  
78 -function getRoleDropDown() {  
79 - global $default;  
80 - $oPatternListBox = & new PatternListBox("$default->owl_roles_table", "name", "id", "fRoleID"); 90 + $oPatternListBox = & new PatternListBox("$default->owl_roles_table", "name", "id", "fRoleID");
81 $oPatternListBox->setEmptyErrorMessage("There are no users in this group"); 91 $oPatternListBox->setEmptyErrorMessage("There are no users in this group");
  92 + if (isset($iRoleID)) {
  93 + $oPatternListBox->setSelectedValue($iRoleID);
  94 + }
  95 +
82 return $oPatternListBox->render(); 96 return $oPatternListBox->render();
83 } 97 }
84 98
85 -function getAddPage() { 99 +/*function getAddPage() {
86 global $default; 100 global $default;
87 return "<table border=0>\n" . 101 return "<table border=0>\n" .
88 "<caption><b>Edit folder routing information</b></caption>\n" . 102 "<caption><b>Edit folder routing information</b></caption>\n" .
@@ -103,5 +117,5 @@ function getAddPage() { @@ -103,5 +117,5 @@ function getAddPage() {
103 "<td><b><input type=\"image\" src=\"$default->graphicsUrl/widgets/update.gif\" border=\"0\"/></b></td><td><a href=\"$default->rootUrl/control.php?action=editFolder&fFolderID=$iFolderID \"><img src=\"$default->graphicsUrl/widgets/cancel.gif\" border=\"0\" /></a></td>\n" . 117 "<td><b><input type=\"image\" src=\"$default->graphicsUrl/widgets/update.gif\" border=\"0\"/></b></td><td><a href=\"$default->rootUrl/control.php?action=editFolder&fFolderID=$iFolderID \"><img src=\"$default->graphicsUrl/widgets/cancel.gif\" border=\"0\" /></a></td>\n" .
104 "</tr>\n" . 118 "</tr>\n" .
105 "</table>\n"; 119 "</table>\n";
106 -} 120 +}*/
107 ?> 121 ?>
presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc
@@ -106,7 +106,7 @@ function getFolderDocTypes($iFolderID) { @@ -106,7 +106,7 @@ function getFolderDocTypes($iFolderID) {
106 106
107 function getFolderRouting($iFolderID) { 107 function getFolderRouting($iFolderID) {
108 global $default; 108 global $default;
109 - $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 " . 109 + $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 " .
110 "FROM $default->owl_groups_folders_approval_table AS GFAL INNER JOIN roles AS R ON GFAL.role_id = R.id " . 110 "FROM $default->owl_groups_folders_approval_table AS GFAL INNER JOIN roles AS R ON GFAL.role_id = R.id " .
111 "INNER JOIN $default->owl_groups_table AS G ON G.id = GFAL.group_id " . 111 "INNER JOIN $default->owl_groups_table AS G ON G.id = GFAL.group_id " .
112 "INNER JOIN $default->owl_users_table AS U ON U.id = GFAL.user_id " . 112 "INNER JOIN $default->owl_users_table AS U ON U.id = GFAL.user_id " .
@@ -116,8 +116,8 @@ function getFolderRouting($iFolderID) { @@ -116,8 +116,8 @@ function getFolderRouting($iFolderID) {
116 $aColumns = array("group_name", "role_name", "precedence", "user_name", "edit", "del", "depn"); 116 $aColumns = array("group_name", "role_name", "precedence", "user_name", "edit", "del", "depn");
117 $aColumnHeaders = array("Group", "Role", "Seq", "User", "", ""); 117 $aColumnHeaders = array("Group", "Role", "Seq", "User", "", "");
118 $aColumnTypes = array(1,1,1,1,3,3,3); 118 $aColumnTypes = array(1,1,1,1,3,3,3);
119 - $aDBColumnArray = array("id","folder_id","user_id");  
120 - $aQueryStringVariableNames = array("fFolderCollaborationID", "fFolderID", "fUserID"); 119 + $aDBColumnArray = array("id","folder_id","group_id","user_id","precedence","role_id");
  120 + $aQueryStringVariableNames = array("fFolderCollaborationID", "fFolderID", "fGroupID","fUserID","fSequenceNumber","fRoleID");
121 $aLinkURLs = array(4=>"$default->rootUrl/control.php?action=modifyFolderCollaboration",5=>"$default->rootUrl/control.php?action=deleteFolderCollaboration", 5=>"$default->rootUrl/control.php?action=viewDependantDocument"); 121 $aLinkURLs = array(4=>"$default->rootUrl/control.php?action=modifyFolderCollaboration",5=>"$default->rootUrl/control.php?action=deleteFolderCollaboration", 5=>"$default->rootUrl/control.php?action=viewDependantDocument");
122 122
123 $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "90%", $aLinkURLs, $aDBColumnArray,$aQueryStringVariableNames); 123 $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "90%", $aLinkURLs, $aDBColumnArray,$aQueryStringVariableNames);