diff --git a/gamecreation.py b/gamecreation.py index 8ab36f9..1328238 100644 --- a/gamecreation.py +++ b/gamecreation.py @@ -22,19 +22,6 @@ def create_user_dropdown_list(listname,selected = ""): data += '' return data -def create_goban_size_dropdown_list(listname): - """ - gets a name, returns a string with a html form for selecting the goban size. - """ - data = """ - - """ % listname - return data - class GameCreation: """ manages the creation of games. @@ -50,36 +37,34 @@ class GameCreation: return self.display_game_creation_form() else: - httptools.redirect("/login") + return helper.cs_render("templates/not_logged_in.cs") - def display_game_creation_form(self): + def display_game_creation_form(self, message = ""): """ prints a html form with multiple drop-down lists for choosing players, goban size and so on. - + TODO: authentication? """ username = cpg.request.sessionMap["username"] myuser = database.Users.byUsername(username) sessionid = cpg.request.sessionMap["_sessionId"] - data = helper.header() - p1data = create_user_dropdown_list("player1",username) - p2data = create_user_dropdown_list("player2") - gobansize = create_goban_size_dropdown_list("gobansize") - #start form - #choose player one (black),choose player two (white),choose goban size - data += """ -
-

Player One (Black): %s

-

Player Two (White): %s

-

Goban Size: %s fields

-

Optional name for game:

- -
- """ % (p1data,p2data,gobansize) - data += helper.footer() - return data + + #p1data = create_user_dropdown_list("player1",username) + #p2data = create_user_dropdown_list("player2") + + settings = {} + settings["Data.Message"] = message + userlist = database.get_users_with_free_game_slots() + i = 0 + for item in userlist: + settings["Data.Userlist.%d" % i] = item + i += 1 + + settings["Data.Username"] = username + + return helper.cs_render("templates/gamecreation.cs",settings) def process_creation_form(self,player1,player2,gobansize,description=None): """ @@ -92,7 +77,6 @@ class GameCreation: myuser = database.Users.byUsername(username) sessionid = cpg.request.sessionMap["_sessionId"] - data = helper.header() #check if at least one of the players is the current user if (player1 == username) or (player2 == username): #create game @@ -104,18 +88,11 @@ class GameCreation: if myplayer.free_slot_left: myplayer.add_game(gamename) else:#should not happen: no free game slot. - #print error msg - data += "Error: No free game slots for player %s!
" % player - #display form again - return self.display_game_creation_form() + #display form with error msg + return self.display_game_creation_form("Error: No free game slots for player %s!
" % player) httptools.redirect("/overview") - else: - #give error message - data += "Sorry, you must be one of the players!
" - #display form again - return self.display_game_creation_form() + else:#display form with error msg + return self.display_game_creation_form("Sorry, but you must be one of the players!
") - data+=helper.footer(req,form) - return data index.exposed = True \ No newline at end of file diff --git a/templates/not_logged_in.cs b/templates/not_logged_in.cs index 2619a7f..8eec660 100644 --- a/templates/not_logged_in.cs +++ b/templates/not_logged_in.cs @@ -1,3 +1,4 @@ -You must be logged in to access this page. +You must be logged in to access this page. +Click here to login. \ No newline at end of file diff --git a/templates/overview.cs b/templates/overview.cs index c2f8665..71743f9 100644 --- a/templates/overview.cs +++ b/templates/overview.cs @@ -24,6 +24,8 @@ + + You don't have any running games. @@ -32,7 +34,7 @@ You have free game slots.
Start a new game
- "Sorry, all your game slots are in use." + Sorry, all your game slots are in use. \ No newline at end of file