diff --git a/app/eve_api/models/character.py b/app/eve_api/models/character.py index 6f3678f..8d06a86 100644 --- a/app/eve_api/models/character.py +++ b/app/eve_api/models/character.py @@ -4,6 +4,25 @@ from eve_api.app_defines import * from eve_api.models import EVEAPIModel +class EVEPlayerCharacterSkill(models.Model): + """ + For our m2m join to EVESkills + """ + character = models.ForeignKey('eve_api.EVEPlayerCharacter') + skill = models.ForeignKey('eve_api.EVESkill') + level = models.IntegerField(default=0) + skillpoints = models.IntegerField(default=0) + in_training = models.IntegerField(default=0) + + def __unicode__(self): + return u"%s - Level %s" % (self.skill, self.level) + + class Meta: + app_label = 'eve_api' + verbose_name = 'Player Character Skill' + verbose_name_plural = 'Player Character Skills' + + class EVEPlayerCharacter(EVEAPIModel): """ Represents an individual player character within the game. Not to be @@ -34,12 +53,21 @@ class EVEPlayerCharacter(EVEAPIModel): @property def director(self): + """ Returns a bool to indicate if the character is a director """ try: self.roles.get(name="roleDirector") return True except ObjectDoesNotExist: return False - + + @property + def current_training(self): + """ Returns the current skill in training """ + try: + return self.eveplayercharacterskill_set.get(in_training__gt=0) + except EVEPlayerCharacterSkill.DoesNotExist: + return None + def __unicode__(self): if self.name: return self.name @@ -50,23 +78,3 @@ class EVEPlayerCharacter(EVEAPIModel): app_label = 'eve_api' verbose_name = 'Player Character' verbose_name_plural = 'Player Characters' - - -class EVEPlayerCharacterSkill(models.Model): - """ - For our m2m join to EVESkills - """ - character = models.ForeignKey('eve_api.EVEPlayerCharacter') - skill = models.ForeignKey('eve_api.EVESkill') - level = models.IntegerField(default=0) - skillpoints = models.IntegerField(default=0) - in_training = models.IntegerField(default=0) - - def __unicode__(self): - return u"%s - Level %s" % (self.skill, self.level) - - class Meta: - app_label = 'eve_api' - verbose_name = 'Player Character Skill' - verbose_name_plural = 'Player Character Skills' - diff --git a/app/eve_api/templates/eve_api/character.html b/app/eve_api/templates/eve_api/character.html index ee03081..6918903 100644 --- a/app/eve_api/templates/eve_api/character.html +++ b/app/eve_api/templates/eve_api/character.html @@ -34,8 +34,8 @@
| Character Name | Corporation | Alliance | |
|---|---|---|---|
| Character Name | Corporation | Alliance | Training |
| {{ char.name }} | {{ char.corporation }} | {% if char.corporation.alliance %}{{ char.corporation.alliance }}{% endif %} | +{% if char.current_training %}{{ char.current_training.skill.name }} to Level {{ char.current_training.in_training }}{% endif %} |