Commit 2a24db106937c90e0703c9d741295d36684bb23c
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
Showing
1 changed file
with
58 additions
and
78 deletions
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 | ... | ... |