From 27307791fd9300e24ce7a2b7c11b0e4ebd3b976c Mon Sep 17 00:00:00 2001 From: phear Date: Sun, 9 Oct 2005 22:11:29 +0000 Subject: [PATCH] implemented logout button. --- createaccount.py | 2 +- gamecreation.py | 10 +++++++--- goban.py | 10 +++++----- helper.py | 20 +++++++++++++++++--- login.py | 12 ++++++------ main.py | 3 +++ playgame.py | 2 +- 7 files changed, 40 insertions(+), 19 deletions(-) diff --git a/createaccount.py b/createaccount.py index dff17c7..23e0215 100644 --- a/createaccount.py +++ b/createaccount.py @@ -75,4 +75,4 @@ def main(req,form): else: display_create_form(req,form) - req.write(helper.footer()) \ No newline at end of file + req.write(helper.footer(req,form)) \ No newline at end of file diff --git a/gamecreation.py b/gamecreation.py index 7a0da63..b52b77b 100644 --- a/gamecreation.py +++ b/gamecreation.py @@ -2,12 +2,16 @@ from mod_python import * import psql,helper,login -def display_game_creation_form(req,sessionid,username): +def display_game_creation_form(req,form): """ prints a html form with multiple drop-down lists for choosing players, goban size and so on. gets a mod_python request, prints to req.write. """ + + username = form["username"] + sessionid = form["sessionid"] + data = helper.header() p1data = create_user_dropdown_list("player1",username) p2data = create_user_dropdown_list("player2") @@ -29,7 +33,7 @@ def display_game_creation_form(req,sessionid,username): - data+=helper.footer() + data+=helper.footer(req,form) req.write(data) def process_creation_form(req,form): @@ -112,6 +116,6 @@ def main(req,form): if "gobansize" in form.keys(): #user already clicked on create process_creation_form(req,form) else: - display_game_creation_form(req,sessionid,username) + display_game_creation_form(req,form,) \ No newline at end of file diff --git a/goban.py b/goban.py index cf2973e..438344d 100755 --- a/goban.py +++ b/goban.py @@ -163,11 +163,11 @@ def update_goban_dict_and_table(gobandict,gobanlite): ############################################################################### -def main(gamename): - # Print the required header that tells the browser how to render the text. +def main(req,form): + """# Print the required header that tells the browser how to render the text. #(currently done by error logger) #print "Content-Type: text/plain\n\n" - + gamename = form["game"] #do stuff data = helper.header() @@ -184,7 +184,7 @@ def main(gamename): data +="\n

"+retstring+"

\n" - data += helper.footer() + data += helper.footer(req,form) print data - + """ \ No newline at end of file diff --git a/helper.py b/helper.py index 9ec6b5f..4207a4a 100644 --- a/helper.py +++ b/helper.py @@ -31,10 +31,24 @@ def debug(req,form, optstr = ""): else: req.write("Debug: "+optstr+"
\n") -def footer(): +def footer(req,form): """return html footer""" - data = """ - + try: + username=form["username"] + sessionid=form["sessionid"] + except: #not logged in + username = "" + sessionid = "" + if (username == "") or (sessionid == "") or ("logout" not in form.keys()): + data = """ +
+ + + +
""" % (sessionid, username) + else: + data = "" + data += """ """ return data diff --git a/login.py b/login.py index 26a2817..9b9a0aa 100755 --- a/login.py +++ b/login.py @@ -26,13 +26,13 @@ def process_form(req,form): game_overview_form(req,form) else: req.write("Login incorrect. Please try again.
") - req.write(login_form()) + req.write(login_form(req,form)) else: #no such user req.write("Login incorrect. Please try again.-
") req.write(login_form()) else: #one of (name,password) is missing: req.write("Please enter your name and password.") - req.write(login_form()) + req.write(login_form(req,form)) def game_overview_form(req,form): @@ -97,10 +97,10 @@ def game_overview_form(req,form): """ % (sessionid, username) else: data+= "Sorry, all your game slots are in use." - data+=helper.footer() + data+=helper.footer(req,form) req.write(data) -def login_form(): +def login_form(req,form): """ print welcome message and html form. """ @@ -119,7 +119,7 @@ def login_form(): """ % helper.generate_session_id() - data += helper.footer() + data += helper.footer(req,form) return data def navigation_bar(req,form): @@ -162,7 +162,7 @@ def main(req,form): helper.debug(req,form) #req.write(helper.footer()) if "sessionid" not in form.keys(): - req.write(login_form()) + req.write(login_form(req,form)) elif ("game overview" in form.keys()) and ("username" in form.keys()) and ("sessionid" in form.keys()): game_overview_form(req,form) elif ("logout" in form.keys()) and ("username" in form.keys()): diff --git a/main.py b/main.py index 02506c2..2ca446a 100755 --- a/main.py +++ b/main.py @@ -37,6 +37,9 @@ def handler(req): elif ("play" in form.keys()) or ("refresh" in form.keys()): playgame = apache.import_module("playgame") playgame.main(req,form) + elif "logout" in form.keys(): + logout = apache.import_module("logout") + logout.main(req,form) else: #call login.py login = apache.import_module("login") diff --git a/playgame.py b/playgame.py index 3957db0..36f02d4 100644 --- a/playgame.py +++ b/playgame.py @@ -81,7 +81,7 @@ def main(req,form): #print goban data += goban.display_goban(gobandict,req,form) data += login.navigation_bar(req,form) - data += helper.footer() + data += helper.footer(req,form) req.write(data) else: