* Replace some tabs by spaces and put a vim modeline in every python file.
[matthijs/projects/xerxes.git] / influences / models.py
index d27e0e0aae73d58e5f452556206b1ecdcaeac1ff..9587aff22f9338f2011b62dff66b702e766873e0 100644 (file)
@@ -1,22 +1,58 @@
 from django.db import models
-from ee.base.models import EEObject
+from django.contrib.auth.models import User
+from django.utils.translation import ugettext_lazy as _
 
 # Create your models here.
-class Character(EEObject):
-       name = models.CharField(max_length=255)
-       def __str__(self):
-               return self.name
+class Character(models.Model):
+    STATUS_CHOICES = (
+        ('N', _('New')),
+        ('A', _('Approved')),
+    )
+    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"))
+    player      = models.ForeignKey(User, verbose_name = _("Player"))
 
-       class Admin:
-               pass
+    def __str__(self):
+        return self.name
 
-class Influence(EEObject):
-       contact     = models.CharField(max_length=255)
-       character   = models.ForeignKey(Character, edit_inline=models.TABULAR, num_in_admin=3, core=True)
-       description = models.TextField()
+    class Admin:
+        pass
 
-       def __str__(self):
-               return self.description[0:10]
+    class Meta:
+        verbose_name = _("Character")
+        verbose_name_plural = _("Characters")
 
-       class Admin:
-               pass
+class Influence(models.Model):
+    STATUS_CHOICES = (
+        ('N', _('New')),
+        ('U', _('Under discussion')),
+        ('P', _('Processing')),
+        ('D', _('Done')),
+    )
+    created     = models.DateField(auto_now_add=1, verbose_name = _("Creation time"))
+    modified    = models.DateField(auto_now=1, verbose_name = _("Modification time"))
+    
+    character   = models.ForeignKey(Character, verbose_name = _("Character"))
+    contact     = models.CharField(max_length=255, verbose_name = _("Contact Name"))
+    summary     = models.CharField(max_length=255, verbose_name = _("Summary"))
+    description = models.TextField(verbose_name = _("Description"))
+    status      = models.TextField(max_length=1, choices=STATUS_CHOICES, default='N', verbose_name = _("Status"))
+    longterm    = models.BooleanField(default=False, verbose_name = _("Long term"))
+
+    result      = models.TextField(blank=True,verbose_name = _("Result"))
+
+    def __str__(self):
+        return self.summary
+
+    class Admin:
+        list_filter=('character', 'status', 'longterm')
+        search_fields=('character', 'description', 'contact')
+        list_display=('character', 'contact', 'summary', 'longterm', 'status') 
+
+    class Meta:
+        verbose_name = _("Influence")
+        verbose_name_plural = _("Influences")
+
+# vim: set sts=4 sw=4 expandtab: