Commit 2a24db106937c90e0703c9d741295d36684bb23c

Authored by Michael Joseph
1 parent 41aa5f82

(#2746) add group listbox to add user page, tidied and formatted

refactored status pages to use Html.inc routine


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@2459 c91229c3-7414-0410-bfa2-8a42b809f60b
presentation/lookAndFeel/knowledgeTree/administration/usermanagement/addUserUI.inc
@@ -11,7 +11,6 @@ @@ -11,7 +11,6 @@
11 // display multiple users 11 // display multiple users
12 function getSelectUserPage($aResults) { 12 function getSelectUserPage($aResults) {
13 global $default; 13 global $default;
14 -  
15 $sToRender .= renderHeading("Add User To System"); 14 $sToRender .= renderHeading("Add User To System");
16 $sToRender .= "<table>\n"; 15 $sToRender .= "<table>\n";
17 $sToRender .= "<tr><td>Select the User to add to the System:</td></tr>\n"; 16 $sToRender .= "<tr><td>Select the User to add to the System:</td></tr>\n";
@@ -22,15 +21,12 @@ function getSelectUserPage($aResults) { @@ -22,15 +21,12 @@ function getSelectUserPage($aResults) {
22 $sToRender .= "</select></td></tr>\n"; 21 $sToRender .= "</select></td></tr>\n";
23 $sToRender .= "<tr><td></td><td align=\"right\"><input type=\"image\" src=\"$default->graphicsUrl/widgets/select.gif\" value=\"submit\" border=\"0\"/></td></tr>\n"; 22 $sToRender .= "<tr><td></td><td align=\"right\"><input type=\"image\" src=\"$default->graphicsUrl/widgets/select.gif\" value=\"submit\" border=\"0\"/></td></tr>\n";
24 $sToRender .= "</table>\n"; 23 $sToRender .= "</table>\n";
25 -  
26 return $sToRender; 24 return $sToRender;
27 } 25 }
28 26
29 // get add pages 27 // get add pages
30 function getSearchPage($unitID) { 28 function getSearchPage($unitID) {
31 -  
32 global $default; 29 global $default;
33 -  
34 $sToRender .= renderHeading("Search For A User To Add"); 30 $sToRender .= renderHeading("Search For A User To Add");
35 $sToRender .= "<table>\n"; 31 $sToRender .= "<table>\n";
36 $sToRender .= "<tr><td colspan=\"2\">Please enter a VALID Username to search for in the text box below</td></tr>\n"; 32 $sToRender .= "<tr><td colspan=\"2\">Please enter a VALID Username to search for in the text box below</td></tr>\n";
@@ -43,13 +39,10 @@ function getSearchPage($unitID) { @@ -43,13 +39,10 @@ function getSearchPage($unitID) {
43 $sToRender .= "</tr>\n"; 39 $sToRender .= "</tr>\n";
44 $sToRender .= "<td></td><td align = right><input type=\"image\" src =\"$default->graphicsUrl/widgets/select.gif\" value=\"Submit\" border=\"0\"/></td>\n"; 40 $sToRender .= "<td></td><td align = right><input type=\"image\" src =\"$default->graphicsUrl/widgets/select.gif\" value=\"Submit\" border=\"0\"/></td>\n";
45 $sToRender .= "</table>\n"; 41 $sToRender .= "</table>\n";
46 -  
47 return $sToRender; 42 return $sToRender;
48 -  
49 } 43 }
50 44
51 -function getDetailsDBPage($suserName, $aAttributes) {  
52 - 45 +function getDetailsDBPage($sUserName, $aAttributes) {
53 global $default; 46 global $default;
54 $sToRender .= renderHeading("Add User To System"); 47 $sToRender .= renderHeading("Add User To System");
55 foreach ($aAttributes as $sUserName => $aUserAttributes) { 48 foreach ($aAttributes as $sUserName => $aUserAttributes) {
@@ -76,20 +69,19 @@ function getDetailsDBPage($suserName, $aAttributes) { @@ -76,20 +69,19 @@ function getDetailsDBPage($suserName, $aAttributes) {
76 $sToRender .= "<tr>\n"; 69 $sToRender .= "<tr>\n";
77 $sToRender .= "<td>Sms Notification: </td><td><input type=\"checkbox\" name=\"fSmsNotification\" value=\"" . $aUserAttributes["sms_notification"] . "\" " . ($aUserAttributes["sms_notification"] == "1" ? "checked" : "") . "> </td>\n"; 70 $sToRender .= "<td>Sms Notification: </td><td><input type=\"checkbox\" name=\"fSmsNotification\" value=\"" . $aUserAttributes["sms_notification"] . "\" " . ($aUserAttributes["sms_notification"] == "1" ? "checked" : "") . "> </td>\n";
78 $sToRender .= "</tr>\n"; 71 $sToRender .= "</tr>\n";
  72 + $sToRender .= "<tr><td><b>Initial Group</b></td><td>" . getGroupListBox() . "</td></tr>\n";
79 $sToRender .= "<tr>\n"; 73 $sToRender .= "<tr>\n";
80 $sToRender .= "<td colspan=\"2\" align=\"right\">" . getAddButton() . getCancelButton() . "</td>"; 74 $sToRender .= "<td colspan=\"2\" align=\"right\">" . getAddButton() . getCancelButton() . "</td>";
81 $sToRender .= "</tr>\n"; 75 $sToRender .= "</tr>\n";
82 $sToRender .= "</table>\n"; 76 $sToRender .= "</table>\n";
  77 + $sToRender .= getJavascriptValidation();
83 } 78 }
84 return $sToRender; 79 return $sToRender;
85 -  
86 } 80 }
87 81
88 -function getDetailsLDAPPage($suserName, $aAttributes, $sUserIdentifier) { 82 +function getDetailsLDAPPage($sUserName, $aAttributes, $sUserIdentifier) {
89 global $default; 83 global $default;
90 -  
91 $sToRender .= renderHeading("Add User To System"); 84 $sToRender .= renderHeading("Add User To System");
92 -  
93 foreach ($aAttributes as $sUserName => $aUserAttributes) { 85 foreach ($aAttributes as $sUserName => $aUserAttributes) {
94 $sToRender .= "<table>\n"; 86 $sToRender .= "<table>\n";
95 $sToRender .= "<tr><td><b>User Details: </b></td></tr>\n"; 87 $sToRender .= "<tr><td><b>User Details: </b></td></tr>\n";
@@ -98,15 +90,14 @@ function getDetailsLDAPPage($suserName, $aAttributes, $sUserIdentifier) { @@ -98,15 +90,14 @@ function getDetailsLDAPPage($suserName, $aAttributes, $sUserIdentifier) {
98 $sToRender .= "<input type=\"hidden\" name=\"fLdap\" value = \"". $aUserAttributes["dn"]. "\">\n"; 90 $sToRender .= "<input type=\"hidden\" name=\"fLdap\" value = \"". $aUserAttributes["dn"]. "\">\n";
99 $sToRender .= "</tr>\n"; 91 $sToRender .= "</tr>\n";
100 $sToRender .= "<tr>\n"; 92 $sToRender .= "<tr>\n";
101 - $sToRender .= "<td>Username: </td><td><input disabled size = \"40\" type=\"text\" name=\"fUsername\" value = \"" . $aUserAttributes[$sUserIdentifier] ."\"> </td>\n"; 93 + $sToRender .= "<td>Username: </td><td><input " . ($default->bNN4 ? "onblur=\"disable(document.MainForm.fUsername)" : "DISABLED") . " size = \"40\" type=\"text\" name=\"fUsername\" value = \"" . $aUserAttributes[$sUserIdentifier] ."\"> </td>\n";
102 $sToRender .= "<input type=\"hidden\" name=\"fUsername\" value = \"" . $aUserAttributes[$sUserIdentifier] ."\">\n"; 94 $sToRender .= "<input type=\"hidden\" name=\"fUsername\" value = \"" . $aUserAttributes[$sUserIdentifier] ."\">\n";
103 $sToRender .= "</tr>\n"; 95 $sToRender .= "</tr>\n";
104 $sToRender .= "<tr>\n"; 96 $sToRender .= "<tr>\n";
105 $sToRender .= "<td>Name: </td><td><input size = \"40\" type=\"text\" name=\"fName\" value = \"" . $aUserAttributes["givenname"] ." " . $aUserAttributes["sn"] ."\"> </td>\n"; 97 $sToRender .= "<td>Name: </td><td><input size = \"40\" type=\"text\" name=\"fName\" value = \"" . $aUserAttributes["givenname"] ." " . $aUserAttributes["sn"] ."\"> </td>\n";
106 $sToRender .= "</tr>\n"; 98 $sToRender .= "</tr>\n";
107 $sToRender .= "<tr>\n"; 99 $sToRender .= "<tr>\n";
108 - $sToRender .= "<td>Email: </td><td><input " . ((strlen($aUserAttributes["mail"]) > 0) ? "disabled " : "") . "size = \"40\" type=\"text\" name=\"fEmail\" value = \"" . $aUserAttributes["mail"] ."\"> </td>\n";  
109 - $sToRender .= "<input type=\"hidden\" name=\"fEmail\" value = \"" . $aUserAttributes["mail"] ."\">\n"; 100 + $sToRender .= "<td>Email: </td><td><input size = \"40\" type=\"text\" name=\"fEmail\" value = \"" . $aUserAttributes["userPrincipalName"] ."\"> </td>\n";
110 $sToRender .= "</tr>\n"; 101 $sToRender .= "</tr>\n";
111 $sToRender .= "<tr>\n"; 102 $sToRender .= "<tr>\n";
112 $sToRender .= "<td>Mobile Number: </td><td><input size = \"40\" type=\"text\" name=\"fMobile\" value = \"" . $aUserAttributes["mobile"] ."\"> </td>\n"; 103 $sToRender .= "<td>Mobile Number: </td><td><input size = \"40\" type=\"text\" name=\"fMobile\" value = \"" . $aUserAttributes["mobile"] ."\"> </td>\n";
@@ -117,89 +108,78 @@ function getDetailsLDAPPage($suserName, $aAttributes, $sUserIdentifier) { @@ -117,89 +108,78 @@ function getDetailsLDAPPage($suserName, $aAttributes, $sUserIdentifier) {
117 $sToRender .= "<tr>\n"; 108 $sToRender .= "<tr>\n";
118 $sToRender .= "<td>Sms Notification: </td><td><input type=\"checkbox\" name=\"fSmsNotification\"/> </td>\n"; 109 $sToRender .= "<td>Sms Notification: </td><td><input type=\"checkbox\" name=\"fSmsNotification\"/> </td>\n";
119 $sToRender .= "</tr>\n"; 110 $sToRender .= "</tr>\n";
  111 + $sToRender .= "<tr><td><b>Group</b></td><td>" . getGroupListBox() . "</td></tr>\n";
120 $sToRender .= "<tr>\n"; 112 $sToRender .= "<tr>\n";
121 $sToRender .= "<td colspan=\"2\" align=\"right\">" . getAddButton() . getCancelButton() . "</td>"; 113 $sToRender .= "<td colspan=\"2\" align=\"right\">" . getAddButton() . getCancelButton() . "</td>";
122 $sToRender .= "</tr>\n"; 114 $sToRender .= "</tr>\n";
123 $sToRender .= "</table>\n"; 115 $sToRender .= "</table>\n";
  116 + $sToRender .= getJavascriptValidation(true);
124 } 117 }
125 -  
126 - return $sToRender;  
127 -}  
128 -  
129 -  
130 -// if edition is successful print otu success page  
131 -function getPageSuccess() {  
132 - global $default;  
133 -  
134 - $sToRender .= renderHeading("Add User To System");  
135 - $sToRender .= "<table>\n";  
136 - $sToRender .= "<tr><td><b>Addition Successful!</b></td></tr>\n";  
137 - $sToRender .= "<tr></tr>\n";  
138 - $sToRender .= "<tr><td>The User was successfully added to the System</td></tr>\n";  
139 - $sToRender .= "<tr></tr>\n";  
140 - $sToRender .= "<tr></tr>\n";  
141 - $sToRender .= "<tr>\n";  
142 - $sToRender .= "<td></td><td align = right><a href=\"$default->rootUrl/control.php?action=addUser\"><img src =\"$default->graphicsUrl/widgets/back.gif\" border = \"0\" /></a></td>\n";  
143 - $sToRender .= "</tr>\n";  
144 - $sToRender .= "</table>\n";  
145 -  
146 return $sToRender; 118 return $sToRender;
147 } 119 }
148 120
149 -// if edition is successful print otu success page  
150 -function getPageFail() {  
151 - global $default;  
152 -  
153 - $sToRender .= renderHeading("Add User To System");  
154 - $sToRender .= "<table>\n";  
155 - $sToRender .= "<tr><td><b>Addition Successful!</b></td></tr>\n";  
156 - $sToRender .= "<tr></tr>\n";  
157 - $sToRender .= "<tr><td>The User was not added. Username Already exists!</td></tr>\n";  
158 - $sToRender .= "<tr></tr>\n";  
159 - $sToRender .= "<tr></tr>\n";  
160 - $sToRender .= "<tr>\n";  
161 - $sToRender .= "<td></td><td align = right><a href=\"$default->rootUrl/control.php?action=addUser\"><img src =\"$default->graphicsUrl/widgets/back.gif\" border = \"0\" /></a></td>\n";  
162 - $sToRender .= "</tr>\n";  
163 - $sToRender .= "</table>\n";  
164 -  
165 -  
166 - return $sToRender; 121 +function getJavascriptValidation($bLdap) {
  122 + // validation starts
  123 + $sToRender .= "\n\n<script language=\"javascript\">\n<!--\n";
  124 + $sToRender .= "function validateForm(theForm) {\n";
  125 + // the username is disabled for adding users from a directory
  126 + if (!$bLdap) {
  127 + $sToRender .= "\tif (!(validRequired(theForm.fUsername, 'Username'))) {\n";
  128 + $sToRender .= "\t\treturn false;\n\t}\n";
  129 + }
  130 + $sToRender .= "\tif (!(validRequired(theForm.fName, 'User display name'))) {\n";
  131 + $sToRender .= "\t\treturn false;\n\t}\n";
  132 + $sToRender .= "\tif (!(validRequired(theForm.fPassword, 'Password'))) {\n";
  133 + $sToRender .= "\t\treturn false;\n\t}\n";
  134 + $sToRender .= "\tif (!(validRequired(theForm.fEmail, 'Email address'))) {\n";
  135 + $sToRender .= "\t\treturn false;\n\t}\n";
  136 + $sToRender .= "\tif (!(validRequired(theForm.fGroupID, 'Initial group'))) {\n";
  137 + $sToRender .= "\t\treturn false;\n\t}\n";
  138 + $sToRender .= "return true;\n}\n";
  139 + $sToRender .= "//-->\n</script>\n\n";
  140 + return $sToRender;
  141 +}
  142 +
  143 +function getPageSuccess() {
  144 + return statusPage("Add User To System", "Addition Successful!", "The User was successfully added to the System.", "addUser");
167 } 145 }
168 146
  147 +function getPageGroupFail() {
  148 + return statusPage("Add User To System", "Group Addition Unsuccessful!", "The user was succesfully added, but could not be assigned to the selected group.", "addUser");
  149 +}
169 150
170 -// if edition is successful print otu success page  
171 -function getPageUsernameNotFound() {  
172 - global $default;  
173 -  
174 - $sToRender .= renderHeading("Add User To System");  
175 - $sToRender .= "<table>\n";  
176 - $sToRender .= "<tr><td><b>Username not found!</b></td></tr>\n";  
177 - $sToRender .= "<tr></tr>\n";  
178 - $sToRender .= "<tr><td>Please ensure that the username that you entered Exists!</td></tr>\n";  
179 - $sToRender .= "<tr></tr>\n";  
180 - $sToRender .= "<tr></tr>\n";  
181 - $sToRender .= "<tr>\n";  
182 - $sToRender .= "<td></td><td align = right><a href=\"$default->rootUrl/control.php?action=addUser\"><img src =\"$default->graphicsUrl/widgets/back.gif\" border = \"0\" /></a></td>\n";  
183 - $sToRender .= "</tr>\n";  
184 - $sToRender .= "</table>\n";  
185 -  
186 -  
187 - return $sToRender; 151 +function getPageFail() {
  152 + return statusPage("Add User To System", "Addition Unsuccessful!", "The user was not added because the selected User Name already exists.", "addUser");
188 } 153 }
189 154
  155 +function getPageUsernameNotFound() {
  156 + return statusPage("Add User To System", "Username not found!", "Your user search string did not match any users in the user directory.", "addUser");
  157 +}
190 158
191 -// show delete button or select button  
192 function getAddButton() { 159 function getAddButton() {
193 global $default; 160 global $default;
194 - return "<input type=\"image\" src =\"$default->graphicsUrl/widgets/add.gif\" value=\"submit\" border=\"0\"/>\n"; 161 + return "<input type=\"image\" src =\"$default->graphicsUrl/widgets/add.gif\" value=\"submit\" border=\"0\"/>\n";
195 } 162 }
196 163
197 -// show cancel button  
198 function getCancelButton() { 164 function getCancelButton() {
199 global $default; 165 global $default;
200 return "<a href=\"$default->rootUrl/control.php?action=addUser\"><img src =\"$default->graphicsUrl/widgets/cancel.gif\" border = \"0\" /></a>\n"; 166 return "<a href=\"$default->rootUrl/control.php?action=addUser\"><img src =\"$default->graphicsUrl/widgets/cancel.gif\" border = \"0\" /></a>\n";
201 -  
202 } 167 }
203 168
204 -  
205 -?> 169 +function getGroupListBox() {
  170 + global $default;
  171 + if (Permission::userIsSystemAdministrator()) {
  172 + // if this is the system administrator, prepend group names with unit name
  173 + $oPatternListBox = & new PatternListBox($default->owl_groups_table, "name", "id", "fGroupID");
  174 + $oPatternListBox->setFromClause("LEFT OUTER JOIN groups_units_link GUL on ST.id=GUL.group_id " .
  175 + "LEFT OUTER JOIN units_lookup UL on GUL.unit_id=UL.id");
  176 + $oPatternListBox->setCompositeDisplayName("DISTINCT COALESCE(CONCAT(CONCAT(UL.name, '-'),ST.name),ST.name)");
  177 + } else if (Permission::userIsUnitAdministrator()) {
  178 + // else if this is a unit administrator, only display the groups in your unit
  179 + $oPatternListBox = & new PatternListBox($default->owl_groups_table, "name", "id", "fGroupID");
  180 + $oPatternListBox->setFromClause("INNER JOIN $default->owl_groups_units_table GUL on ST.id=GUL.group_id");
  181 + $oPatternListBox->setWhereClause("GUL.unit_id=" . User::getUnitID($_SESSION["userID"]));
  182 + }
  183 + return $oPatternListBox->render();
  184 +}
  185 +?>
206 \ No newline at end of file 186 \ No newline at end of file