home *** CD-ROM | disk | FTP | other *** search
/ bombers.k12.ar.us / bombers.k12.ar.us.tar / bombers.k12.ar.us / survey_unconfigured / MovePageAction.asp < prev    next >
Text File  |  2006-10-25  |  8KB  |  183 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 works with MovePage.asp, and processes the
  7. '                     form that allows users to move a page.  After moving 
  8. '                      the page, the user is redirected to the ModifySurvey.asp
  9. '                      page.
  10. '
  11. '   COPYRIGHT NOTICE                                
  12. '
  13. '   See attached Software License Agreement
  14. '
  15. '   (c) Copyright 2002 - 2006 by ClassApps.com.  All rights reserved.
  16. '***********************************************************************
  17. %>
  18. <!--#Include File="Include/Config_inc.asp"-->
  19. <!--#Include File="Include/Utility_inc.asp"-->
  20. <!--#Include File="Include/adovbs_inc.asp"-->
  21. <!--#Include File="Include/CurrentUser_inc.asp"-->
  22. <!--#Include File="Include/SurveySecurity_inc.asp"-->
  23. <!--#Include File="Include/SurveyUtility_inc.asp"-->
  24. <!--#Include File="Include/Constants_inc.asp"-->
  25. <%
  26.     Dim strSQL
  27.     Dim conMove
  28.     Dim lngSurveyID
  29.     Dim lngPageNumber
  30.     Dim lngOrderNumber
  31.     Dim lngNewPageNumber
  32.     Dim lngPageNumberBefore
  33.     Dim rsReorder
  34.         
  35.     'Initialization
  36.     Set conMove = Server.CreateObject("ADODB.Connection")
  37.     Set rsReorder = Server.CreateObject("ADODB.Recordset")
  38.     conMove.Open SURVEY_APP_CONNECTION
  39.     lngSurveyID = Request.Form("SurveyID")
  40.     lngPageNumber = CLng(Request.Form("PageNumber"))
  41.     lngPageNumberBefore = CLng(Request.Form("cboPageNumberBefore"))
  42.     lngOrderNumber = 1
  43.     
  44.     '1. CHANGE THE PAGE NUMBER OF THE PAGE BEING MOVED TO A TEMPORARY VALUE
  45.     'For the SUR_SURVEY_TO_ITEM_MAPPING table, change the page number being moved to a 
  46.     'temporary page number that is never used
  47.     strSQL = "UPDATE sur_survey_to_item_mapping " & _
  48.              "SET page_number = " & SUR_MOVE_TEMP_PAGE_NUMBER & _
  49.              " WHERE page_number = " & lngPageNumber & _
  50.              " AND survey_id = " & lngSurveyID
  51.     conMove.Execute ConvertSQL(strSQL), , adCmdText
  52.     
  53.     'For the SUR_PAGE_CONDITION table, change the page number being moved to a 
  54.     'temporary page number that is never used
  55.     strSQL = "UPDATE sur_page_condition " & _
  56.              "SET page_number = " & SUR_MOVE_TEMP_PAGE_NUMBER & _
  57.              " WHERE page_number = " & lngPageNumber & _
  58.              " AND survey_id = " & lngSurveyID
  59.     conMove.Execute ConvertSQL(strSQL), , adCmdText
  60.     
  61.     'For the SUR_PAGE table, change the page number being moved to a 
  62.     'temporary page number that is never used
  63.     strSQL = "UPDATE sur_page " & _
  64.              "SET page_number = " & SUR_MOVE_TEMP_PAGE_NUMBER & _
  65.              " WHERE page_number = " & lngPageNumber & _
  66.              " AND survey_id = " & lngSurveyID
  67.     conMove.Execute ConvertSQL(strSQL), , adCmdText
  68.     
  69.     '2. CHANGE THE PAGE NUMBERS OF ALL PAGES BETWEEN THE PAGE BEING MOVED AND ITS SOURCE
  70.     'If the page being moved is less than the page it's being moved before, subtract 1 from the page numbers.
  71.     'If the page being moved is more than the page it's being moved before, add 1 from the page numbers.
  72.     If lngPageNumber < lngPageNumberBefore Then
  73.         'Set the value that will be the new page number for the page being moved
  74.         lngNewPageNumber = lngPageNumberBefore - 1
  75.         
  76.         'Move all the pages in the SUR_SURVEY_TO_ITEM_MAPPING table
  77.         strSQL = "UPDATE sur_survey_to_item_mapping " & _
  78.                  "SET page_number = page_number - 1 " & _
  79.                  "WHERE page_number > " & lngPageNumber & _ 
  80.                  " AND page_number < " & lngPageNumberBefore & _
  81.                  " AND survey_id = " & lngSurveyID
  82.         conMove.Execute ConvertSQL(strSQL), , adCmdText
  83.  
  84.         'Move all the pages in the SUR_PAGE_CONDITION table
  85.         strSQL = "UPDATE sur_page_condition " & _
  86.                  "SET page_number = page_number - 1 " & _
  87.                  "WHERE page_number > " & lngPageNumber & _ 
  88.                  " AND page_number < " & lngPageNumberBefore & _
  89.                  " AND survey_id = " & lngSurveyID
  90.         conMove.Execute ConvertSQL(strSQL), , adCmdText
  91.  
  92.         'Move all the pages in the SUR_PAGE table
  93.         strSQL = "UPDATE sur_page " & _
  94.                  "SET page_number = page_number - 1 " & _
  95.                  "WHERE page_number > " & lngPageNumber & _ 
  96.                  " AND page_number < " & lngPageNumberBefore & _
  97.                  " AND survey_id = " & lngSurveyID
  98.         conMove.Execute ConvertSQL(strSQL), , adCmdText
  99.     Else
  100.         'Set the value that will be the new page number for the page being moved
  101.         lngNewPageNumber = lngPageNumberBefore
  102.  
  103.         'Move all the pages in the SUR_SURVEY_TO_ITEM_MAPPING table
  104.         strSQL = "UPDATE sur_survey_to_item_mapping " & _
  105.                  "SET page_number = page_number + 1 " & _
  106.                  "WHERE page_number >= " & lngPageNumberBefore & _ 
  107.                  " AND page_number < " & lngPageNumber & _
  108.                  " AND survey_id = " & lngSurveyID
  109.         conMove.Execute ConvertSQL(strSQL), , adCmdText
  110.  
  111.         'Move all the pages in the SUR_PAGE_CONDITION table
  112.         strSQL = "UPDATE sur_page_condition " & _
  113.                  "SET page_number = page_number + 1 " & _
  114.                  "WHERE page_number >= " & lngPageNumberBefore & _ 
  115.                  " AND page_number < " & lngPageNumber & _
  116.                  " AND survey_id = " & lngSurveyID
  117.         conMove.Execute ConvertSQL(strSQL), , adCmdText
  118.  
  119.         'Move all the pages in the SUR_PAGE table
  120.         strSQL = "UPDATE sur_page " & _
  121.                  "SET page_number = page_number + 1 " & _
  122.                  "WHERE page_number >= " & lngPageNumberBefore & _ 
  123.                  " AND page_number < " & lngPageNumber & _
  124.                  " AND survey_id = " & lngSurveyID
  125.         conMove.Execute ConvertSQL(strSQL), , adCmdText
  126.     End If
  127.     
  128.     '3. CHANGE THE TEMPORARY VALUE TO CORRECT VALUE
  129.     'For the SUR_SURVEY_TO_ITEM_MAPPING table, change the page number being moved to a 
  130.     'temporary page number that is never used
  131.     strSQL = "UPDATE sur_survey_to_item_mapping " & _
  132.              "SET page_number = " & lngNewPageNumber & _
  133.              " WHERE page_number = " & SUR_MOVE_TEMP_PAGE_NUMBER & _
  134.              " AND survey_id = " & lngSurveyID
  135.     conMove.Execute ConvertSQL(strSQL), , adCmdText
  136.     
  137.     'For the SUR_PAGE_CONDITION table, change the page number being moved to a 
  138.     'temporary page number that is never used
  139.     strSQL = "UPDATE sur_page_condition " & _
  140.              "SET page_number = " & lngNewPageNumber & _
  141.              " WHERE page_number = " & SUR_MOVE_TEMP_PAGE_NUMBER & _
  142.              " AND survey_id = " & lngSurveyID
  143.     conMove.Execute ConvertSQL(strSQL), , adCmdText
  144.     
  145.     'For the SUR_PAGE table, change the page number being moved to a 
  146.     'temporary page number that is never used
  147.     strSQL = "UPDATE sur_page " & _
  148.              "SET page_number = " & lngNewPageNumber & _
  149.              " WHERE page_number = " & SUR_MOVE_TEMP_PAGE_NUMBER & _
  150.              " AND survey_id = " & lngSurveyID
  151.     conMove.Execute ConvertSQL(strSQL), , adCmdText
  152.  
  153.     '4. RE-ORDER ALL OF THE ORDER_NUMBER VALUES FOR THE SURVEY
  154.     strSQL = "SELECT item_id " & _
  155.              "FROM sur_survey_to_item_mapping " & _
  156.              "WHERE survey_id = " & lngSurveyID & _
  157.              " ORDER BY page_number, order_number"
  158.     rsReorder.Open ConvertSQL(strSQL), conMove, adOpenForwardOnly, adLockReadOnly, adCmdText
  159.     
  160.     Do While Not rsReorder.EOF
  161.         'Update the ORDER_NUMBER column for each record
  162.         strSQL = "UPDATE sur_survey_to_item_mapping " & _
  163.                  "SET order_number = " & lngOrderNumber & _
  164.                  " WHERE survey_id = " & lngSurveyID & _
  165.                  " AND item_id = " & rsReorder("item_id")
  166.         conMove.Execute ConvertSQL(strSQL), , adCmdText
  167.         rsReorder.MoveNext    
  168.         
  169.         'Increment the value for the order_number column
  170.         lngOrderNumber = lngOrderNumber + 1
  171.     Loop
  172.     
  173.     
  174.     'Clean up
  175.     rsReorder.Close
  176.     conMove.Close
  177.     Set rsReorder = Nothing
  178.     Set conMove = Nothing
  179.  
  180.     'Redirect back to the ModifySurvey.asp page.
  181.     Response.Redirect "ModifySurvey.asp?SurveyID=" & lngSurveyID
  182. %>
  183.