home *** CD-ROM | disk | FTP | other *** search
/ bombers.k12.ar.us / bombers.k12.ar.us.tar / bombers.k12.ar.us / survey / UserList.asp < prev    next >
Text File  |  2006-11-29  |  12KB  |  357 lines

  1. <!--#Include File="Include/Top_inc.asp"-->
  2. <%
  3. '***********************************************************************
  4. '   Application: SelectSurveyASP Advanced v8.1.11
  5. '   Author: Aaron Baril for ClassApps.com
  6. '   Page Description: This page allows a user with admin rights to view a list of all users
  7. '                      in the system, and then to manage each user.
  8. '
  9. '   COPYRIGHT NOTICE                                
  10. '
  11. '   See attached Software License Agreement
  12. '
  13. '   (c) Copyright 2002 - 2006 by ClassApps.com.  All rights reserved.
  14. '***********************************************************************
  15. %>
  16. <!--#Include File="Include/SurveyUtility_inc.asp"-->
  17. <!--#Include File="Include/Utility_inc.asp"-->
  18. <!--#Include File="Include/Constants_inc.asp"-->
  19. <!--#Include File="Include/Config_inc.asp"-->
  20. <!--#Include File="Include/ID_inc.asp"-->
  21. <!--#Include File="Include/adovbs_inc.asp"-->
  22. <!--#Include File="Include/CurrentUser_inc.asp"-->
  23. <!--#Include File="Include/SurveySecurity_inc.asp"-->
  24.  
  25. <html>
  26. <head>
  27.     <title>User Management</title>
  28.     <link rel="stylesheet" href="Resources/StyleSheet/SurveyStyle.css">
  29. </head>
  30.  
  31. <script language ="JavaScript" src="ClientInclude/Utility.js"></script>
  32. <script language="JavaScript">
  33. function selectDeselectAll()
  34. {
  35.     var i;
  36.     var strTemp;
  37.  
  38.     // If the checkbox is checked, selected all checkboxes
  39.     if (document.forms['frmUserList'].chkSelectAll.checked == true)
  40.     {
  41.         for (i = 0; i < document.forms['frmUserList'].length; i++)
  42.         {
  43.             strTemp = document.forms['frmUserList'].elements[i].name;
  44.             if (strTemp != 'chkSelectAll' && strTemp.substring(0, 3) == 'chk')
  45.             {
  46.                 document.forms['frmUserList'][i].checked = true;
  47.             }
  48.         }
  49.     }
  50.     else // not checked, so deselect all
  51.     {
  52.         for (i = 0; i < document.forms['frmUserList'].length; i++)
  53.         {
  54.             strTemp = document.forms['frmUserList'].elements[i].name;
  55.             if (strTemp != 'chkSelectAll' && strTemp.substring(0, 3) == 'chk')
  56.             {
  57.                 document.forms['frmUserList'][i].checked = false;
  58.             }
  59.         }
  60.     }
  61. }
  62.  
  63. function deleteChecked()
  64. {
  65.     if (confirm("Are you sure you want to delete all checked users?") == true) //OK
  66.     {
  67.         document.forms['frmUserList'].Action.value = '<%=SUR_FORM_ACTION_DELETE%>';
  68.         document.forms['frmUserList'].submit();
  69.     }
  70. }
  71. </script>
  72.  
  73. <%
  74.     'If the user does not have "Admin" permission, redirect them to the access denied page.
  75.     If lngUserSecurityLevel <> SUR_SECURITY_LEVEL_ADMIN Then
  76.         Response.Redirect "AccessDenied.asp?Reason=" & SUR_ACCESS_DENIED_NOT_ADMIN_SECURITY_LEVEL
  77.     End If
  78.  
  79.     Dim rsUsers
  80.     Dim strSQL
  81.     Dim strSortColumn
  82.     Dim strSortOrder
  83.     Dim strTempSortOrder
  84.     Dim strTableRowColor
  85.     Dim lngUserID
  86.     Dim lngTotalUserCount
  87.     Dim strUsername
  88.                         
  89.     'Initialization
  90.     Set rsUsers = Server.CreateObject("ADODB.Recordset")
  91.     lngTotalUserCount = 0
  92.  
  93.     'Set the sort column and sort order
  94.     If Len(Request.QueryString("SortColumn")) > 0 Then
  95.         strSortColumn = Request.QueryString("SortColumn")
  96.         strSortOrder = Request.QueryString("SortOrder")
  97.     Else
  98.         strSortColumn = "username"
  99.         strSortOrder = SUR_SORT_ORDER_ASCENDING
  100.     End If
  101.  
  102.     'Initialize the row color
  103.     strTableRowColor = "TableRowLightColor"
  104. %>
  105.  
  106. <body class="MainBodyStyle">
  107.  
  108. <!--#Include File="Include/FrameworkTop_inc.asp"-->
  109.  
  110. <table width="754" border="0" cellpadding="0" cellspacing="0" class="MediumBlueBackgroundColor">
  111.     <tr> 
  112.         <td height="36" width="393" align="left" valign="center">
  113.               <span class="H1HeadingStyle"><a name="skipnav" tabindex="1">User Management</a></span> <img style="cursor:hand" alt="Help" onClick="javascript:window.open('Help/Help.htm#ManagingUsers', null, 'menubar=no,toolbar=no,titlebar=no,status=no,left=10,top=10,scrollbars=yes,resizable=yes,height=550,width=770');" border="0" src="Resources/Images/Help.gif">
  114.         </td>
  115.         <td width="354" align="right" valign="center">
  116.             <a href="ImportUsers.asp"><img border="0" border="0" alt="Imports users" name="btnImportUsers" src="Resources/Buttons/Import.gif"></a>
  117.             <a href="User.asp?State=Insert"><img border="0" border="0" alt="Create a new user account" name="btnCreateNewUser" src="Resources/Buttons/CreateNewUser.gif"></a>
  118.         </td>
  119.         <td width="7"></td>
  120.     </tr>
  121. </table>
  122.  
  123. <!--#Include File="Include/FrameworkTop2_inc.asp"-->
  124.  
  125. <table cellpadding="5" cellspacing="0" border="0" width="740" class="WhiteBackgroundColor" summary="This page displays a list of all users in the application">
  126.     <form name="frmUserList" method="post" action="UserListAction.asp">
  127.     <input type="hidden" name="Action" value="">
  128.     <tr class="TableHeadingColor" height="40">
  129.         <th id="Delete" align="center" width="40">
  130.             <span class="TableHeadingBold">Delete</span>
  131.         </th>
  132.         <th id="Active" width="40">
  133. <%
  134.             'Determine the sort order if the user clicks this column heading
  135.             If strSortColumn = "active_yn" Then
  136.                 If strSortOrder = SUR_SORT_ORDER_ASCENDING Then
  137.                     strTempSortOrder = SUR_SORT_ORDER_DESCENDING
  138.                 Else
  139.                     strTempSortOrder = SUR_SORT_ORDER_ASCENDING
  140.                 End If
  141.             Else
  142.                 strTempSortOrder = SUR_SORT_ORDER_ASCENDING
  143.             End If
  144. %>
  145.             <span class="TableHeadingBold"><a href="UserList.asp?SortColumn=active_yn&SortOrder=<%=strTempSortOrder%>">Active</a></span>
  146.         </th>
  147.         <th id="Username" width="90">
  148. <%
  149.             'Determine the sort order if the user clicks this column heading
  150.             If strSortColumn = "username" Then
  151.                 If strSortOrder = SUR_SORT_ORDER_ASCENDING Then
  152.                     strTempSortOrder = SUR_SORT_ORDER_DESCENDING
  153.                 Else
  154.                     strTempSortOrder = SUR_SORT_ORDER_ASCENDING
  155.                 End If
  156.             Else
  157.                 strTempSortOrder = SUR_SORT_ORDER_ASCENDING
  158.             End If
  159. %>
  160.             <span class="TableHeadingBold"><a href="UserList.asp?SortColumn=username&SortOrder=<%=strTempSortOrder%>">Username</a></span>
  161.         </th>
  162.         <th id="FirstName" width="105">
  163. <%
  164.             'Determine the sort order if the user clicks this column heading
  165.             If strSortColumn = "first_name" Then
  166.                 If strSortOrder = SUR_SORT_ORDER_ASCENDING Then
  167.                     strTempSortOrder = SUR_SORT_ORDER_DESCENDING
  168.                 Else
  169.                     strTempSortOrder = SUR_SORT_ORDER_ASCENDING
  170.                 End If
  171.             Else
  172.                 strTempSortOrder = SUR_SORT_ORDER_ASCENDING
  173.             End If
  174. %>
  175.             <span class="TableHeadingBold"><a href="UserList.asp?SortColumn=first_name&SortOrder=<%=strTempSortOrder%>">First Name</a></span>
  176.         </th>
  177.         <th id="LastName" width="115">
  178. <%
  179.             'Determine the sort order if the user clicks this column heading
  180.             If strSortColumn = "last_name" Then
  181.                 If strSortOrder = SUR_SORT_ORDER_ASCENDING Then
  182.                     strTempSortOrder = SUR_SORT_ORDER_DESCENDING
  183.                 Else
  184.                     strTempSortOrder = SUR_SORT_ORDER_ASCENDING
  185.                 End If
  186.             Else
  187.                 strTempSortOrder = SUR_SORT_ORDER_ASCENDING
  188.             End If
  189. %>
  190.             <span class="TableHeadingBold"><a href="UserList.asp?SortColumn=last_name&SortOrder=<%=strTempSortOrder%>">Last Name</a></span>
  191.         </th>
  192.         <th id="Role" width="80">
  193. <%
  194.             'Determine the sort order if the user clicks this column heading
  195.             If strSortColumn = "role_name" Then
  196.                 If strSortOrder = SUR_SORT_ORDER_ASCENDING Then
  197.                     strTempSortOrder = SUR_SORT_ORDER_DESCENDING
  198.                 Else
  199.                     strTempSortOrder = SUR_SORT_ORDER_ASCENDING
  200.                 End If
  201.             Else
  202.                 strTempSortOrder = SUR_SORT_ORDER_ASCENDING
  203.             End If
  204. %>
  205.             <span class="TableHeadingBold"><a href="UserList.asp?SortColumn=role_name&SortOrder=<%=strTempSortOrder%>">Role</a></span>
  206.         </th>
  207.         <th id="EmailAddress" width="230">
  208. <%
  209.             'Determine the sort order if the user clicks this column heading
  210.             If strSortColumn = "email_address" Then
  211.                 If strSortOrder = SUR_SORT_ORDER_ASCENDING Then
  212.                     strTempSortOrder = SUR_SORT_ORDER_DESCENDING
  213.                 Else
  214.                     strTempSortOrder = SUR_SORT_ORDER_ASCENDING
  215.                 End If
  216.             Else
  217.                 strTempSortOrder = SUR_SORT_ORDER_ASCENDING
  218.             End If
  219. %>
  220.             <span class="TableHeadingBold"><a href="UserList.asp?SortColumn=email_address&SortOrder=<%=strTempSortOrder%>">Email Address</a></span>
  221.         </th>
  222.         <th id="Edit" align="center" width="40">
  223.             <span class="TableHeadingBold">Edit</span>
  224.         </th>
  225.     </tr>
  226. <%
  227.     'Get the list of users in the system
  228.     strSQL = "SELECT u.user_id, username, role_name, active_yn, email_address, first_name, last_name " & _
  229.                 "FROM sur_user u, sur_user_to_role_mapping m, sur_role r " & _
  230.                 "WHERE u.user_id = m.user_id " & _
  231.                 "AND r.role_id = m.role_id " & _
  232.                 " ORDER BY " & strSortColumn & " " & strSortOrder
  233.     rsUsers.Open ConvertSQL(strSQL), SURVEY_APP_CONNECTION, adOpenDynamic, , adCmdText
  234.                             
  235.     'If there are no users, display a message to that effect
  236.     If rsUsers.EOF = True Then
  237. %>
  238.         <tr class="TableRowLightColor">
  239.             <td colspan="8">
  240.                 <span class="Normal">
  241.                     There are no users in the system.
  242.                     <br><br><br><br><br><br><br><br><br>
  243.                 </span>
  244.             </td>
  245.         </tr>
  246. <%                
  247.     Else 'There are users in the system
  248.         rsUsers.MoveFirst
  249.         Do While Not rsUsers.EOF
  250.             lngUserID = rsUsers("user_id")
  251.             strUsername = rsUsers("username")
  252. %>
  253.             <tr class="<%=strTableRowColor%>">
  254.                 <td align="center" valign="center">
  255. <%
  256.                     'Do not display the delete checkbox for 'admin' or for the current user's own name
  257.                     If strUsername <> SUR_USERNAME_ADMIN And GetUsername() <> strUsername Then
  258.                         lngTotalUserCount = lngTotalUserCount + 1
  259. %>
  260.                         <input type="checkbox" name="chkDelete<%=lngUserID%>" id="chkDelete<%=lngUserID%>">
  261. <%
  262.                     Else
  263. %>
  264.                          
  265. <%
  266.                     End If
  267. %>
  268.                 </td>
  269.                 <td align="center">
  270.                     <span class="Normal">
  271. <%
  272.                         If rsUsers("active_yn") = SUR_BOOLEAN_POSITIVE Then
  273.                             Response.Write SUR_BOOLEAN_POSITIVE_DISPLAY
  274.                         Else
  275.                             Response.Write SUR_BOOLEAN_NEGATIVE_DISPLAY
  276.                         End If
  277. %>                                    
  278.                     <br>
  279.                     </span>
  280.                 </td>
  281.                 <td>
  282.                     <span class="Normal"><%=strUsername%><br></span>
  283.                 </td>
  284.                 <td>
  285.                     <span class="Normal"><%=rsUsers("first_name")%><br></span>
  286.                 </td>
  287.                 <td>
  288.                     <span class="Normal"><%=rsUsers("last_name")%><br></span>
  289.                 </td>
  290.                 <td>
  291.                     <span class="Normal"><%=rsUsers("role_name")%><br></span>
  292.                 </td>
  293.                 <td>
  294.                     <span class="Normal"><%=rsUsers("email_address")%><br></span>
  295.                 </td>
  296.                 <td align="center">
  297.                     <a href="User.asp?State=<%=SUR_STATE_EDIT%>&UserID=<%=lngUserID%>"><img alt="Edit this user" border="0" src="Resources/Icons/Edit.gif" onMouseOver="this.style.cursor='hand'"></a>
  298.                 </td>
  299.             </tr>
  300. <%                        
  301.             'Alternate the colors for the rows in the table
  302.             If strTableRowColor = "TableRowDarkColor" Then
  303.                 strTableRowColor = "TableRowLightColor"
  304.             Else
  305.                 strTableRowColor = "TableRowDarkColor"
  306.             End If
  307.  
  308.             rsUsers.MoveNext
  309.         Loop                
  310.     End If
  311. %>
  312.     <tr class="<%=strTableRowColor%>">
  313.         <td align="center">
  314.             <input type="checkbox" onClick="javascript:selectDeselectAll();" name="chkSelectAll" id="chkSelectAll">
  315.         </td>
  316.         <td colspan="7" align="left">
  317.             <span class="Normal">Click here to select or deselect all users</span>
  318.         </td>
  319.     </tr>
  320. <%                        
  321.     'Alternate the colors for the rows in the table
  322.     If strTableRowColor = "TableRowDarkColor" Then
  323.         strTableRowColor = "TableRowLightColor"
  324.     Else
  325.         strTableRowColor = "TableRowDarkColor"
  326.     End If
  327. %>
  328.     <tr class="<%=strTableRowColor%>">
  329.         <td colspan="8" align="right">
  330. <%
  331.             'Only display the save and delete buttons if there is at least one email address in the list
  332.             If CLng(lngTotalUserCount) > 0 Then
  333. %>
  334.                 <a href="javascript:deleteChecked();"><img border="0" alt="Delete all checked users" name="btnDeleteChecked" src="Resources/Buttons/DeleteChecked.gif"></a>
  335. <%
  336.             End If
  337. %>    
  338.         </td>
  339.     </tr>
  340.     </form>
  341. </table>
  342. <%
  343.     'Clean up
  344.     rsUsers.Close
  345.     Set rsUsers = Nothing
  346. %>        
  347.  
  348. <!--#Include File="Include/FrameworkBottom_inc.asp"-->
  349.  
  350. </body>
  351. </html>
  352.  
  353. <%
  354.     'Ensure that the web server returns the page
  355.     Response.Flush
  356. %>
  357.