diff --git a/fowl/game/models.py b/fowl/game/models.py index de94a47..2295101 100644 --- a/fowl/game/models.py +++ b/fowl/game/models.py @@ -103,9 +103,9 @@ class Match(models.Model): if self.title_at_stake: victors = list(self.teams.get(victorious=True).members.all()) if len(victors) == 1: - victor[0].win_title(self.title_at_stake) + victors[0].win_title(self.title_at_stake) elif len(victors) == 2 and self.title_at_stake == 'tag': - victor[0].win_title(self.title_at_stake, victor[1]) + victors[0].win_title(self.title_at_stake, victors[1]) else: raise ValueError('invalid number of victors for title change') @@ -246,6 +246,7 @@ class League(models.Model): class Team(models.Model): name = models.CharField(max_length=100) + color = models.CharField(max_length=50) login = models.OneToOneField(User, related_name='team') league = models.ForeignKey(League, related_name='teams') stars = models.ManyToManyField(Star, related_name='teams') diff --git a/fowl/game/templates/events.html b/fowl/game/templates/events.html index 59ea9ee..529bb45 100644 --- a/fowl/game/templates/events.html +++ b/fowl/game/templates/events.html @@ -19,7 +19,7 @@ PPVs, since the creation of this league.

{% for team,score in event.scores.iteritems %} - {{team}}: {{score}} + {{team}}: {{score}} {% endfor %} diff --git a/fowl/game/templates/stables.html b/fowl/game/templates/stables.html index 46566ee..fdf670e 100644 --- a/fowl/game/templates/stables.html +++ b/fowl/game/templates/stables.html @@ -50,7 +50,7 @@ {% for team in teams %} - {{team}} + {{team}} {% endfor %} diff --git a/fowl/game/tests.py b/fowl/game/tests.py index d392dc2..53a2b50 100644 --- a/fowl/game/tests.py +++ b/fowl/game/tests.py @@ -51,6 +51,40 @@ class MatchTest(TestCase): self.assertEqual(unicode(match), 'CM Punk (c) (v) vs. Rey Mysterio') + def test_do_title_change(self): + # title to punk + match = self.event.add_match('cmpunk', 'reymysterio', winner='cmpunk', + outcome='normal', title_at_stake='wwe') + match.do_title_change() + self.assertEqual(Star.objects.get(pk='cmpunk').title, 'wwe') + + # title to mysterio + match = self.event.add_match('cmpunk', 'reymysterio', + winner='reymysterio', outcome='normal', + title_at_stake='wwe') + match.do_title_change() + self.assertEqual(Star.objects.get(pk='reymysterio').title, 'wwe') + self.assertEqual(Star.objects.get(pk='cmpunk').title, None) + + # tag title + match = self.event.add_match(['kofikingston', 'rtruth'], + ['jackswagger', 'dolphziggler'], + winner='dolphziggler', outcome='normal', + title_at_stake='tag') + match.do_title_change() + self.assertEqual(Star.objects.get(pk='kofikingston').title, None) + self.assertEqual(Star.objects.get(pk='rtruth').title, None) + self.assertEqual(Star.objects.get(pk='dolphziggler').title, 'tag') + self.assertEqual(Star.objects.get(pk='jackswagger').title, 'tag') + + match = self.event.add_match(['kofikingston', 'rtruth'], + ['jackswagger', 'dolphziggler'], + winner='dolphziggler', outcome='normal', + title_at_stake='diva') + # diva title on a tag match + with self.assertRaises(ValueError): + match.do_title_change() + def test_scoring(self): # one on one : 2 points match = self.event.add_match('tripleh', 'undertaker', diff --git a/fowl/game/views.py b/fowl/game/views.py index 4bf731e..17e0853 100644 --- a/fowl/game/views.py +++ b/fowl/game/views.py @@ -16,8 +16,8 @@ def events(request, league_id): events[event_id].match_list = {} events[event_id].match_list.setdefault(tp.match, [] ).append(tp) - events[event_id].scores.setdefault(tp.team.name, 0) - events[event_id].scores[tp.team.name] += tp.points + events[event_id].scores.setdefault(tp.team, 0) + events[event_id].scores[tp.team] += tp.points events = sorted(events.values(), key=lambda x: x.date, reverse=True) return render(request, "events.html", {'events': events, 'view': 'events'}) @@ -45,4 +45,4 @@ def roster(request): context = { 'stars': Star.objects.all() } - return render(request, "roster.html", context) \ No newline at end of file + return render(request, "roster.html", context) diff --git a/setup_league.py b/setup_league.py index ab3f5e1..f0a2234 100644 --- a/setup_league.py +++ b/setup_league.py @@ -19,9 +19,13 @@ james = User.objects.create_superuser('james', 'james.p.turk@gmail.com', 'james' erin = User.objects.create_user('erin', 'erin.braswell@gmail.com', 'erin') kevin = User.objects.create_user('kevin', 'kevin.wohlgenant@gmail.com', 'kevin') league = League.objects.create(name='Fire Pro Wrestling') -gm_punk = Team.objects.create(name='GM Punk', login=james, league=league) -awesome = Team.objects.create(name="I'm AWEsome!", login=kevin, league=league) -cobra = Team.objects.create(name='COBRA!', login=erin, league=league) +gm_punk = Team.objects.create(name='GM Punk', login=james, league=league, + color='#1540a4') +awesome = Team.objects.create(name="I'm AWEsome!", login=kevin, league=league, + color='#f5a506') +cobra = Team.objects.create(name='COBRA!', login=erin, league=league, + color='#05c405') + punks = ('cmpunk', 'markhenry', 'rtruth', 'codyrhodes', 'tensai', 'antoniocesaro', 'wadebarrett', 'aj', 'bethphoenix', @@ -86,7 +90,7 @@ event.add_match('alexriley', 'christian', 'curthawkins', 'darrenyoung', event.add_match(['kofikingston', 'rtruth'], ['dolphziggler', 'jackswagger'], winner='kofikingston', outcome='normal', title_at_stake='tag') event.add_match('layla', 'bethphoenix', winner='layla', - outcome='normal', title_at_stake='divas') + outcome='normal', title_at_stake='diva') event.add_match('sheamus', 'randyorton', 'chrisjericho', 'albertodelrio', winner='sheamus', outcome='normal', title_at_stake='heavyweight')