# Create your models here.
class Character(models.Model):
+ NEW = 'N'
+ APPROVED = 'A'
STATUS_CHOICES = (
- ('N', _('New')),
- ('A', _('Approved')),
+ (NEW, _('New')),
+ (APPROVED, _('Approved')),
)
+ PLAYER = 'P'
+ NPC = 'N'
+ CONTACT = 'C'
TYPE_CHOICES = (
- ('P', _('Player')),
- ('N', _('NPC')),
- ('C', _('Contact')),
+ (PLAYER, _('Player')),
+ (NPC, _('NPC')),
+ (CONTACT, _('Contact')),
)
created = models.DateField(auto_now_add=1, verbose_name = _("Creation time"))
modified = models.DateField(auto_now=1, verbose_name = _("Modification time"))
name = models.CharField(max_length=255, verbose_name = _("Name"))
- status = models.CharField(max_length=2, choices=STATUS_CHOICES, default='N', verbose_name = _("Status"))
+ status = models.CharField(max_length=2, choices=STATUS_CHOICES, default=NEW, verbose_name = _("Status"))
player = models.ForeignKey(User, verbose_name = _("Player"))
contacts = models.ManyToManyField('self', blank = True)
type = models.CharField(max_length=2, choices=TYPE_CHOICES, verbose_name=_("Type"))
verbose_name_plural = _("Characters")
class Influence(models.Model):
+ NEW = 'N'
+ DISCUSSING = 'U'
+ PROCESSING = 'P'
+ DONE = 'D'
STATUS_CHOICES = (
- ('N', _('New')),
- ('U', _('Under discussion')),
- ('P', _('Processing')),
- ('D', _('Done')),
+ (NEW, _('New')),
+ (DISCUSSING, _('Under discussion')),
+ (PROCESSING, _('Processing')),
+ (DONE, _('Done')),
)
created = models.DateField(auto_now_add=1, verbose_name = _("Creation time"))
modified = models.DateField(auto_now=1, verbose_name = _("Modification time"))
summary = models.CharField(max_length=255, verbose_name = _("Summary"))
description = models.TextField(verbose_name = _("Description"))
todo = models.TextField(blank=True, verbose_name = _("Todo"))
- status = models.CharField(max_length=1, choices=STATUS_CHOICES, default='N', verbose_name = _("Status"))
+ status = models.CharField(max_length=1, choices=STATUS_CHOICES, default=NEW, verbose_name = _("Status"))
longterm = models.BooleanField(default=False, verbose_name = _("Long term"))
result = models.TextField(blank=True,verbose_name = _("Result"))
def add_influence(request, character_id=None):
initial = {}
# Get the current user's characters
- my_chars = request.user.character_set.all().filter(type__in=['P', 'N'])
+ my_chars = request.user.character_set.all().filter(type__in=[Character.PLAYER, Character.NPC])
# Get all chars
- all_chars = Character.objects.all().filter(type__in=['P', 'N'])
+ all_chars = Character.objects.all().filter(type__in=[Character.PLAYER, Character.NPC])
# If a character_id was specified in the url, or there is only one
# character, preselect it.