def confirm_order():
    if not html.check_logged_in(loggedIn):
        return
    viewerID = sql.run_sql("""SELECT ViewerID FROM ViewerLogin
                               WHERE UserName = '******'"""%username)[0][0]
    videoids = sql.run_sql("""SELECT VideoID FROM ViewerOrderLine
                               WHERE ViewerOrderID IN (SELECT ViewerOrderID FROM ViewerOrder
                                                           WHERE ViewerID = %d)"""%viewerID)

    for item in videoids:
        if int(vidid) in item:
            redirect.refresh("viewer_order.py?error=1", sess.cookie)
            return
    

    viewerorderID = sql.run_insert("""INSERT INTO ViewerOrder VALUES
                                           (DEFAULT, CURDATE(), NULL, 'Pending', %d)"""%viewerID)
    viewerType = sql.run_sql("""SELECT ViewerType FROM Viewer
                                     WHERE ViewerID = %d"""%viewerID)[0][0]
    if viewerType == 'C':
        viewerType = 1
    else:
        viewerType = 0
    sql.run_insert("""INSERT INTO ViewerOrderLine VALUES
                       (%s, %s, %s)"""%(vidid, viewerorderID, str(bool(viewerType)).upper()))
    redirect.refresh("viewer_order.py", sess.cookie)

    return
def main():
    if cancel:
        cancelSubscription()
    else:
        renewSubscription()
    redirect.refresh("login.py", sess.cookie)
    return
def main():
    #Print error if any exist
    if error:
        redirect.refresh("player_edit_profile.py?error=1", sess.cookie)
        return
    updateViewerInfo()
    redirect.refresh("player_edit_profile.py", sess.cookie)
    return
def main():
    #If error, redirect back to add page
    if error == 1:
        redirect.refresh("add_video.py?error=1", sess.cookie)
        return
    #Insertion successful, redirect to newly created video's edit page
    id = addVideoInfo()
    redirect.refresh("viewer_order.py?vidid=%s "%(id), sess.cookie)
    return
def main():
    #If error, redirect back to add page
    if error == 1:
        redirect.refresh("add_instance.py?error=1", sess.cookie)
        return
    #Insertion successful, redirect to newly created instanceRun's edit page
    id = addInstanceInfo()
    redirect.refresh("player_edit_instancerun.py?instancerunID=%s "%(id), sess.cookie)
    return
def main():
    #If error, redirect back to add page
    if error == 1:
        redirect.refresh("add_game.py?error=1", sess.cookie)
        return
    #Insertion successful, redirect to newly created game's edit page
    addGameInfo()
    redirect.refresh("player_manage_games.py", sess.cookie)
    return
def main():
    #If error, redirect back to add page
    if error == 1:
        redirect.refresh("add_achievement.py?error=1", sess.cookie)
        return
    #Insertion successful, redirect to newly created achievement's edit page
    id = addAchievementInfo()
    redirect.refresh("player_edit_an_achievement.py?achievementID=%s "%(id), sess.cookie)
    return
Example #8
0
def main():
    if loggedIn in (1, 2):
        redirect.refresh("home.py", sess.cookie)
        return
    
    params = cgi.FieldStorage()
    cookie = sess.cookie
    html.open_html(cookie, 0)
    form.print_form(params.has_key('error'))
    html.close_html()
    sess.close()
    return
def main():
    #Run delete if deletion flag is set
    if loggedIn == 2 and params.has_key('delete'):
        achievementid= params["achievementID"].value
        remove_achievement(achievementid)
        #redirect to view achievement page
        redirect.refresh("player_view_achievements.py",sess.cookie)
        return
    #Else, update information
    updateAchievementInfo()
    #redirect to edit page of the achievement that just got editted
    redirect.refresh("player_edit_an_achievement.py?achievementID=%s"%achievementID, sess.cookie)
    return
def main():
     #Run delete if deletion flag is set
    if loggedIn == 2 and params.has_key('delete'):
        instanceRunID= params["instancerunID"].value
        remove_instance(instanceRunID)
        #redirect to view instanceRun page
        redirect.refresh("player_view_instanceruns.py",sess.cookie)
        return
    #Else, update information
    updateInstanceInfo()
    #redirect to edit page of the instanceRun that just got editted
    redirect.refresh("player_edit_instancerun.py?instancerunID=%s"%instancerunID, sess.cookie)
    return
def main():
    if not html.check_logged_in(loggedIn):
        return
    html.open_html(sess.cookie, loggedIn)
    error = False
    username = params['userName'].value
    if (loggedIn != 2) and (sess.data['userName'] != username):
        redirect.refresh("home.py", sess.cookie)
        return
    if params.has_key('error'):
        error = True
    print_body(username, error)

    html.close_html()
    sess.close()
    return
def main():
    if not html.check_logged_in(loggedIn):
        return
    html.open_html(sess.cookie, loggedIn)
    error = False
    # Get data through params and SQL

    username = sess.data["userName"]
    if loggedIn != 2:
        redirect.refresh("home.py", sess.cookie)
        return
    if params.has_key("error"):
        error = True
    print_body(username, error)

    html.close_html()
    sess.close()
    return
def main():
    if error == 1:
        redirect.refresh("register_viewer.py?error=1", sess.cookie)
        return
    if checkAccount() == 3:
        redirect.refresh("register_viewer.py?error=3", sess.cookie)
        return
    if checkAccount() == 4:
        redirect.refresh("register_viewer.py?error=4", sess.cookie)
        return
    addViewerInfo()
    redirect.refresh("login.py", sess.cookie)
    return
def main():
    if loggedIn == 2 and params.has_key('delete'):
        viewerID = params["viewerID"].value
        remove_viewer(viewerID)
        redirect.refresh("home.py",sess.cookie)
        return
    if error:
        redirect.refresh("viewer_edit_profile.py?error=1", sess.cookie)
        return
    updateViewerInfo()
    redirect.refresh("viewer_edit_profile.py?userName=%s"%username, sess.cookie)
    return
def main():                   
    if delete:
        delete_video(videoID)
        redirect.refresh("home.py", sess.cookie)
        return
    price = process_price(videoPrice)
    error = check_price(price)
    error = check_supervisor(supervisorID)             
    if error:
        redirect.refresh("home.py?error=1", sess.cookie)
        return
    updateVideoInfo(price)
    redirect.refresh(("viewer_order.py?vidid=%s")%(videoID), sess.cookie)
    return
def main():
    #Run delete if deletion flag is set
    if loggedIn == 2 and params.has_key('delete'):
        gameID = params['gameID'].value
        delete_game(gameID)
        #redirect to view achievement page
        redirect.refresh("player_manage_games.py",sess.cookie)
        return
    #Else, update information
    price = process_price(gamePrice)
    error = check_price(price)
    if error:
        redirect.refresh("player_manage_games.py?error=1", sess.cookie)
        return
    updateGameInfo(price)
    #redirect to edit page of the achievement that just got editted
    redirect.refresh("player_manage_games.py", sess.cookie)
    return
#######################################################################################################

# Authors: Beaudan Campbell-Brown, Derek Mui, Ha Jin Song, Jerry Chen
# INFO20003 assessment
# File to handle editting of viewer player using player

#######################################################################################################

import cgi, sql_handler as sql, redirect, session, html_template as html

#######################################################################################################

# Get Session from cookie and fieldstorage that has been passed on from previous page
sess = session.Session(expires=20 * 60, cookie_path="/")
loggedIn = sess.data.get("loggedIn")
params = cgi.FieldStorage()

#######################################################################################################

viewerID = params["viewerID"].value
result = sql.run_sql("""SELECT UserName FROM ViewerLogin WHERE ViewerLogin.ViewerID = %s""" % viewerID)
if result:
    username = result[0][0]
    if html.check_logged_in(loggedIn):
        redirect.refresh("viewer_edit_profile.py?userName=%s" % (username), sess.cookie)
else:
    redirect.refresh("player_find_viewer.py?notFound=1", sess.cookie)
        redirect.refresh("add_achievement.py?error=1", sess.cookie)
        return
    #Insertion successful, redirect to newly created achievement's edit page
    id = addAchievementInfo()
    redirect.refresh("player_edit_an_achievement.py?achievementID=%s "%(id), sess.cookie)
    return

#######################################################################################################
#Valide fieldstorage and make sure all required input are given by user
def validate_params():
    if not (params.has_key('AchievementName') and params.has_key('RewardBody')):
        return 2
    return

#######################################################################################################
#Run SQL insertion and get newly added achievement's ID
def addAchievementInfo():
    achievementID= sql.run_insert("""INSERT INTO Achievement VALUES
                                       (DEFAULT, NULL, NULL, '%s', '%s')
                               """%(name,reward))
    return achievementID
#Check for error
if validate_params() == 2:
    redirect.refresh("add_achievement.py?error=2", sess.cookie)
#Add new achievement given input
else:
    name= params['AchievementName'].value
    reward= params['RewardBody'].value
    error = 0
    
    main()
def validate_params():
    if not (params.has_key('gameName') and params.has_key('genre')
        and params.has_key('review') and params.has_key('starRating')
        and params.has_key('classificationRating') and params.has_key('platformNotes')
        and params.has_key('promotionLink') and params.has_key('price')):
        return 2
    return

#######################################################################################################
#Run SQL insertion and get newly added game's ID
def addGameInfo():
    addressID = sql.run_insert("""INSERT INTO Game VALUES
                                       (DEFAULT, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')
                               """%(gameName, genre, review, starRating, classificationRating, platformNotes, promotionLink, price))
    return
#Check for error
if validate_params() == 2:
    redirect.refresh("add_game.py?error=2", sess.cookie)
#Add new game given input
else:
    gameName = params['gameName'].value
    genre = params['genre'].value
    review = params['review'].value
    starRating = params['starRating'].value
    classificationRating = params['classificationRating'].value
    platformNotes = params['platformNotes'].value
    promotionLink = params['promotionLink'].value
    price = params['price'].value
    error = 0
    
    main()
    id = addInstanceInfo()
    redirect.refresh("player_edit_instancerun.py?instancerunID=%s "%(id), sess.cookie)
    return

#######################################################################################################
#Valide fieldstorage and make sure all required input are given by user
def validate_params():
    if not (params.has_key('Name') and params.has_key('supervisorName')
        and params.has_key('Category')):
        return 2
    return

#######################################################################################################
#Run SQL insertion and get newly added instanceRun's ID
def addInstanceInfo():
    superID= sql.run_sql("""SELECT playerID FROM Player WHERE GameHandle = "%s" """ % (superName))[0][0]
    instancerunID= sql.run_insert("""INSERT INTO InstanceRun VALUES
                                       (DEFAULT, %s, '%s',NOW(), '%s')
                               """%(superID,name,category))
    return instancerunID
#Check for error
if validate_params() == 2:
    redirect.refresh("add_instance.py?error=2", sess.cookie)
#Add new instanceRun given input
else:
    superName= params['supervisorName'].value
    name= params['Name'].value
    category= params['Category'].value
    error = 0
    
    main()
                                                                                                   viewerCity, viewerState,
                                                                                                   viewerPCode, viewerCountry))
        viewerID = sql.run_insert("""INSERT INTO Viewer VALUES
                                      (DEFAULT, 'N', '%s-%s-%s', '%s')"""%(viewerDOBYear, viewerDOBMonth, viewerDOBDay, viewerEmail))
        sql.run_insert("""INSERT INTO ViewerLogin VALUES
                           ('%s', '%s', %d)"""%(viewerUserName, viewerPwd1, viewerID))
        sql.run_insert("""INSERT INTO ViewerAddress VALUES
                           (%d, %d, CURDATE(), NULL)"""%(viewerID, addressID))
    return

#######################################################################################################

#Only store paramater values if they have all been entered, check date is valid

if validate_params() == 2:
    redirect.refresh("register_viewer.py?error=2", sess.cookie)

else:
    viewerUserName = params['username'].value
    viewerPwd1 = params['password1'].value
    viewerPwd2 = params['password2'].value
    viewerDOBYear = params['year'].value
    viewerDOBMonth = params['month'].value
    viewerDOBDay = params['day'].value
    viewerEmail = params['email'].value
    viewerStNo = params['streetNo'].value
    viewerStName = params['streetName'].value
    viewerStType = params['streetType'].value
    viewerSuburb = params['suburb'].value
    viewerCity = params['city'].value
    viewerState = params['state'].value
def validate_params():
    if not (params.has_key('videoName') and params.has_key('gameName')
        and params.has_key('videoURL') and params.has_key('videoType')
        and params.has_key('videoPrice') and params.has_key('InstanceName')):
        return 2
    return

#######################################################################################################
#Run SQL insertion and get newly added video's ID
def addVideoInfo():
    gameID = sql.run_sql("""SELECT GameID FROM Game WHERE Name = "%s" """ % (GameName))[0][0]
    instancerunID = sql.run_sql("""SELECT InstanceRunID FROM InstanceRun WHERE Name = "%s" """ % (InstanceRunName))[0][0]

    videoID= sql.run_insert("""INSERT INTO Video VALUES
                                       (DEFAULT, '%s', '%s', '%s', '%s', '%s', '%s')
                               """%(videoName,videoURL,videoPrice,videoType,instancerunID,gameID))
    return videoID
#Check for error
if validate_params() == 2:
    redirect.refresh("home.py?error=2", sess.cookie)
#Add new video given input
else:
    videoName= params['videoName'].value
    videoURL= params['videoURL'].value
    videoType= params['videoType'].value
    videoPrice= params['videoPrice'].value
    InstanceRunName= params['InstanceName'].value
    GameName= params['gameName'].value
    error = 0
    
    main()
def check_player(loggedIn):
    if loggedIn != 2:
        redirect.refresh("login.py", sess.cookie)
        return False
    return True
def check_logged_in(loggedIn):
    if loggedIn not in (1, 2):
        redirect.refresh("login.py", sess.cookie)
        return False
    return True