game creation with clearsilver should work now.
This commit is contained in:
parent
6abbcee533
commit
6a461c441e
3 changed files with 27 additions and 47 deletions
|
@ -22,19 +22,6 @@ def create_user_dropdown_list(listname,selected = ""):
|
|||
data += '</select>'
|
||||
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 = """
|
||||
<select name="%s">
|
||||
<option> 9 </option>
|
||||
<option> 13 </option>
|
||||
<option> 19 </option>
|
||||
</select>
|
||||
""" % 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 += """
|
||||
<form method="post">
|
||||
<p>Player One (Black): %s </p>
|
||||
<p>Player Two (White): %s </p>
|
||||
<p>Goban Size: %s fields </p>
|
||||
<p>Optional name for game: <input type="text" name="description" size="20" class="text"></p>
|
||||
<input type="submit" class="submit" value="create game">
|
||||
</form>
|
||||
""" % (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!<br>" % 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!<br>" % player)
|
||||
|
||||
httptools.redirect("/overview")
|
||||
else:
|
||||
#give error message
|
||||
data += "Sorry, you must be one of the players!<br>"
|
||||
#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!<br>")
|
||||
|
||||
data+=helper.footer(req,form)
|
||||
return data
|
||||
index.exposed = True
|
|
@ -1,3 +1,4 @@
|
|||
<?cs include:"templates/header.cs" ?>
|
||||
You must be logged in to access this page.
|
||||
You must be logged in to access this page.
|
||||
Click <a href="/login/">here</a> to login.
|
||||
<?cs include:Settings.TemplateDir +"footer.cs" ?>
|
|
@ -24,6 +24,8 @@
|
|||
|
||||
|
||||
</table>
|
||||
<?cs else ?>
|
||||
You don't have any running games.
|
||||
<?cs /if ?>
|
||||
|
||||
|
||||
|
@ -32,7 +34,7 @@
|
|||
You have <?cs var:Data.Counter ?> free game slots.<br>
|
||||
<a href="/gamecreation"> Start a new game</a><br>
|
||||
<?cs else ?>
|
||||
"Sorry, all your game slots are in use."
|
||||
Sorry, all your game slots are in use.
|
||||
<?cs /if ?>
|
||||
|
||||
<?cs include:Settings.TemplateDir +"footer.cs" ?>
|
Loading…
Add table
Reference in a new issue