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 >
Wrap
Text File
|
2006-10-25
|
8KB
|
183 lines
<!--#Include File="Include/Top_inc.asp"-->
<%
'***********************************************************************
' Application: SelectSurveyASP Advanced v8.1.11
' Author: Aaron Baril for ClassApps.com
' Page Description: This page works with MovePage.asp, and processes the
' form that allows users to move a page. After moving
' the page, the user is redirected to the ModifySurvey.asp
' page.
'
' COPYRIGHT NOTICE
'
' See attached Software License Agreement
'
' (c) Copyright 2002 - 2006 by ClassApps.com. All rights reserved.
'***********************************************************************
%>
<!--#Include File="Include/Config_inc.asp"-->
<!--#Include File="Include/Utility_inc.asp"-->
<!--#Include File="Include/adovbs_inc.asp"-->
<!--#Include File="Include/CurrentUser_inc.asp"-->
<!--#Include File="Include/SurveySecurity_inc.asp"-->
<!--#Include File="Include/SurveyUtility_inc.asp"-->
<!--#Include File="Include/Constants_inc.asp"-->
<%
Dim strSQL
Dim conMove
Dim lngSurveyID
Dim lngPageNumber
Dim lngOrderNumber
Dim lngNewPageNumber
Dim lngPageNumberBefore
Dim rsReorder
'Initialization
Set conMove = Server.CreateObject("ADODB.Connection")
Set rsReorder = Server.CreateObject("ADODB.Recordset")
conMove.Open SURVEY_APP_CONNECTION
lngSurveyID = Request.Form("SurveyID")
lngPageNumber = CLng(Request.Form("PageNumber"))
lngPageNumberBefore = CLng(Request.Form("cboPageNumberBefore"))
lngOrderNumber = 1
'1. CHANGE THE PAGE NUMBER OF THE PAGE BEING MOVED TO A TEMPORARY VALUE
'For the SUR_SURVEY_TO_ITEM_MAPPING table, change the page number being moved to a
'temporary page number that is never used
strSQL = "UPDATE sur_survey_to_item_mapping " & _
"SET page_number = " & SUR_MOVE_TEMP_PAGE_NUMBER & _
" WHERE page_number = " & lngPageNumber & _
" AND survey_id = " & lngSurveyID
conMove.Execute ConvertSQL(strSQL), , adCmdText
'For the SUR_PAGE_CONDITION table, change the page number being moved to a
'temporary page number that is never used
strSQL = "UPDATE sur_page_condition " & _
"SET page_number = " & SUR_MOVE_TEMP_PAGE_NUMBER & _
" WHERE page_number = " & lngPageNumber & _
" AND survey_id = " & lngSurveyID
conMove.Execute ConvertSQL(strSQL), , adCmdText
'For the SUR_PAGE table, change the page number being moved to a
'temporary page number that is never used
strSQL = "UPDATE sur_page " & _
"SET page_number = " & SUR_MOVE_TEMP_PAGE_NUMBER & _
" WHERE page_number = " & lngPageNumber & _
" AND survey_id = " & lngSurveyID
conMove.Execute ConvertSQL(strSQL), , adCmdText
'2. CHANGE THE PAGE NUMBERS OF ALL PAGES BETWEEN THE PAGE BEING MOVED AND ITS SOURCE
'If the page being moved is less than the page it's being moved before, subtract 1 from the page numbers.
'If the page being moved is more than the page it's being moved before, add 1 from the page numbers.
If lngPageNumber < lngPageNumberBefore Then
'Set the value that will be the new page number for the page being moved
lngNewPageNumber = lngPageNumberBefore - 1
'Move all the pages in the SUR_SURVEY_TO_ITEM_MAPPING table
strSQL = "UPDATE sur_survey_to_item_mapping " & _
"SET page_number = page_number - 1 " & _
"WHERE page_number > " & lngPageNumber & _
" AND page_number < " & lngPageNumberBefore & _
" AND survey_id = " & lngSurveyID
conMove.Execute ConvertSQL(strSQL), , adCmdText
'Move all the pages in the SUR_PAGE_CONDITION table
strSQL = "UPDATE sur_page_condition " & _
"SET page_number = page_number - 1 " & _
"WHERE page_number > " & lngPageNumber & _
" AND page_number < " & lngPageNumberBefore & _
" AND survey_id = " & lngSurveyID
conMove.Execute ConvertSQL(strSQL), , adCmdText
'Move all the pages in the SUR_PAGE table
strSQL = "UPDATE sur_page " & _
"SET page_number = page_number - 1 " & _
"WHERE page_number > " & lngPageNumber & _
" AND page_number < " & lngPageNumberBefore & _
" AND survey_id = " & lngSurveyID
conMove.Execute ConvertSQL(strSQL), , adCmdText
Else
'Set the value that will be the new page number for the page being moved
lngNewPageNumber = lngPageNumberBefore
'Move all the pages in the SUR_SURVEY_TO_ITEM_MAPPING table
strSQL = "UPDATE sur_survey_to_item_mapping " & _
"SET page_number = page_number + 1 " & _
"WHERE page_number >= " & lngPageNumberBefore & _
" AND page_number < " & lngPageNumber & _
" AND survey_id = " & lngSurveyID
conMove.Execute ConvertSQL(strSQL), , adCmdText
'Move all the pages in the SUR_PAGE_CONDITION table
strSQL = "UPDATE sur_page_condition " & _
"SET page_number = page_number + 1 " & _
"WHERE page_number >= " & lngPageNumberBefore & _
" AND page_number < " & lngPageNumber & _
" AND survey_id = " & lngSurveyID
conMove.Execute ConvertSQL(strSQL), , adCmdText
'Move all the pages in the SUR_PAGE table
strSQL = "UPDATE sur_page " & _
"SET page_number = page_number + 1 " & _
"WHERE page_number >= " & lngPageNumberBefore & _
" AND page_number < " & lngPageNumber & _
" AND survey_id = " & lngSurveyID
conMove.Execute ConvertSQL(strSQL), , adCmdText
End If
'3. CHANGE THE TEMPORARY VALUE TO CORRECT VALUE
'For the SUR_SURVEY_TO_ITEM_MAPPING table, change the page number being moved to a
'temporary page number that is never used
strSQL = "UPDATE sur_survey_to_item_mapping " & _
"SET page_number = " & lngNewPageNumber & _
" WHERE page_number = " & SUR_MOVE_TEMP_PAGE_NUMBER & _
" AND survey_id = " & lngSurveyID
conMove.Execute ConvertSQL(strSQL), , adCmdText
'For the SUR_PAGE_CONDITION table, change the page number being moved to a
'temporary page number that is never used
strSQL = "UPDATE sur_page_condition " & _
"SET page_number = " & lngNewPageNumber & _
" WHERE page_number = " & SUR_MOVE_TEMP_PAGE_NUMBER & _
" AND survey_id = " & lngSurveyID
conMove.Execute ConvertSQL(strSQL), , adCmdText
'For the SUR_PAGE table, change the page number being moved to a
'temporary page number that is never used
strSQL = "UPDATE sur_page " & _
"SET page_number = " & lngNewPageNumber & _
" WHERE page_number = " & SUR_MOVE_TEMP_PAGE_NUMBER & _
" AND survey_id = " & lngSurveyID
conMove.Execute ConvertSQL(strSQL), , adCmdText
'4. RE-ORDER ALL OF THE ORDER_NUMBER VALUES FOR THE SURVEY
strSQL = "SELECT item_id " & _
"FROM sur_survey_to_item_mapping " & _
"WHERE survey_id = " & lngSurveyID & _
" ORDER BY page_number, order_number"
rsReorder.Open ConvertSQL(strSQL), conMove, adOpenForwardOnly, adLockReadOnly, adCmdText
Do While Not rsReorder.EOF
'Update the ORDER_NUMBER column for each record
strSQL = "UPDATE sur_survey_to_item_mapping " & _
"SET order_number = " & lngOrderNumber & _
" WHERE survey_id = " & lngSurveyID & _
" AND item_id = " & rsReorder("item_id")
conMove.Execute ConvertSQL(strSQL), , adCmdText
rsReorder.MoveNext
'Increment the value for the order_number column
lngOrderNumber = lngOrderNumber + 1
Loop
'Clean up
rsReorder.Close
conMove.Close
Set rsReorder = Nothing
Set conMove = Nothing
'Redirect back to the ModifySurvey.asp page.
Response.Redirect "ModifySurvey.asp?SurveyID=" & lngSurveyID
%>