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 11 // display multiple users
12 12 function getSelectUserPage($aResults) {
13 13 global $default;
14   -
15 14 $sToRender .= renderHeading("Add User To System");
16 15 $sToRender .= "<table>\n";
17 16 $sToRender .= "<tr><td>Select the User to add to the System:</td></tr>\n";
... ... @@ -22,15 +21,12 @@ function getSelectUserPage($aResults) {
22 21 $sToRender .= "</select></td></tr>\n";
23 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 23 $sToRender .= "</table>\n";
25   -
26 24 return $sToRender;
27 25 }
28 26  
29 27 // get add pages
30 28 function getSearchPage($unitID) {
31   -
32 29 global $default;
33   -
34 30 $sToRender .= renderHeading("Search For A User To Add");
35 31 $sToRender .= "<table>\n";
36 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 39 $sToRender .= "</tr>\n";
44 40 $sToRender .= "<td></td><td align = right><input type=\"image\" src =\"$default->graphicsUrl/widgets/select.gif\" value=\"Submit\" border=\"0\"/></td>\n";
45 41 $sToRender .= "</table>\n";
46   -
47 42 return $sToRender;
48   -
49 43 }
50 44  
51   -function getDetailsDBPage($suserName, $aAttributes) {
52   -
  45 +function getDetailsDBPage($sUserName, $aAttributes) {
53 46 global $default;
54 47 $sToRender .= renderHeading("Add User To System");
55 48 foreach ($aAttributes as $sUserName => $aUserAttributes) {
... ... @@ -76,20 +69,19 @@ function getDetailsDBPage($suserName, $aAttributes) {
76 69 $sToRender .= "<tr>\n";
77 70 $sToRender .= "<td>Sms Notification: </td><td><input type=\"checkbox\" name=\"fSmsNotification\" value=\"" . $aUserAttributes["sms_notification"] . "\" " . ($aUserAttributes["sms_notification"] == "1" ? "checked" : "") . "> </td>\n";
78 71 $sToRender .= "</tr>\n";
  72 + $sToRender .= "<tr><td><b>Initial Group</b></td><td>" . getGroupListBox() . "</td></tr>\n";
79 73 $sToRender .= "<tr>\n";
80 74 $sToRender .= "<td colspan=\"2\" align=\"right\">" . getAddButton() . getCancelButton() . "</td>";
81 75 $sToRender .= "</tr>\n";
82 76 $sToRender .= "</table>\n";
  77 + $sToRender .= getJavascriptValidation();
83 78 }
84 79 return $sToRender;
85   -
86 80 }
87 81  
88   -function getDetailsLDAPPage($suserName, $aAttributes, $sUserIdentifier) {
  82 +function getDetailsLDAPPage($sUserName, $aAttributes, $sUserIdentifier) {
89 83 global $default;
90   -
91 84 $sToRender .= renderHeading("Add User To System");
92   -
93 85 foreach ($aAttributes as $sUserName => $aUserAttributes) {
94 86 $sToRender .= "<table>\n";
95 87 $sToRender .= "<tr><td><b>User Details: </b></td></tr>\n";
... ... @@ -98,15 +90,14 @@ function getDetailsLDAPPage($suserName, $aAttributes, $sUserIdentifier) {
98 90 $sToRender .= "<input type=\"hidden\" name=\"fLdap\" value = \"". $aUserAttributes["dn"]. "\">\n";
99 91 $sToRender .= "</tr>\n";
100 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 94 $sToRender .= "<input type=\"hidden\" name=\"fUsername\" value = \"" . $aUserAttributes[$sUserIdentifier] ."\">\n";
103 95 $sToRender .= "</tr>\n";
104 96 $sToRender .= "<tr>\n";
105 97 $sToRender .= "<td>Name: </td><td><input size = \"40\" type=\"text\" name=\"fName\" value = \"" . $aUserAttributes["givenname"] ." " . $aUserAttributes["sn"] ."\"> </td>\n";
106 98 $sToRender .= "</tr>\n";
107 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 101 $sToRender .= "</tr>\n";
111 102 $sToRender .= "<tr>\n";
112 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 108 $sToRender .= "<tr>\n";
118 109 $sToRender .= "<td>Sms Notification: </td><td><input type=\"checkbox\" name=\"fSmsNotification\"/> </td>\n";
119 110 $sToRender .= "</tr>\n";
  111 + $sToRender .= "<tr><td><b>Group</b></td><td>" . getGroupListBox() . "</td></tr>\n";
120 112 $sToRender .= "<tr>\n";
121 113 $sToRender .= "<td colspan=\"2\" align=\"right\">" . getAddButton() . getCancelButton() . "</td>";
122 114 $sToRender .= "</tr>\n";
123 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 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 159 function getAddButton() {
193 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 164 function getCancelButton() {
199 165 global $default;
200 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 186 \ No newline at end of file
... ...