Ver código fonte

Add like model

Denis Merigoux 9 anos atrás
pai
commit
7e3fd1869c
2 arquivos alterados com 42 adições e 19 exclusões
  1. 2 1
      counter/admin.py
  2. 40 18
      counter/models.py

+ 2 - 1
counter/admin.py

@@ -1,7 +1,8 @@
1 1
 from django.contrib import admin
2 2
 
3 3
 # Register your models here.
4
-from .models import Counter,Reset
4
+from .models import Counter, Reset, Like
5 5
 
6 6
 admin.site.register(Counter)
7 7
 admin.site.register(Reset)
8
+admin.site.register(Like)

+ 40 - 18
counter/models.py

@@ -7,35 +7,57 @@ from django.contrib.auth.models import User
7 7
 
8 8
 
9 9
 class Counter(models.Model):
10
-    name = models.CharField("Nom", max_length=60)
11
-    email = models.EmailField("Email", max_length=264,
12
-                              default="null@localhost")
13
-    trigramme = models.CharField("Trigramme", max_length=3)
14
-    user = models.ForeignKey(User, blank=True, null=True)
10
+    name = models.CharField('nom', max_length=60)
11
+    email = models.EmailField('email', max_length=264,
12
+                              default='null@localhost')
13
+    trigramme = models.CharField('trigramme', max_length=3)
14
+    user = models.ForeignKey(User, blank=True, null=True,
15
+                             verbose_name='utilisateur associé')
15 16
     email_notifications = models.BooleanField(
16
-        "Notifications par email", default=False)
17
+        'notifications par email', default=False)
17 18
 
18 19
     def __str__(self):
19
-        return "%s (%s)" % (self.trigramme, self.name)
20
+        return '%s (%s)' % (self.trigramme, self.name)
20 21
 
21 22
     class Meta:
22
-        verbose_name = "Compteur"
23
+        verbose_name = 'compteur'
23 24
 
24 25
 
25 26
 class Reset(models.Model):
26
-    timestamp = models.DateTimeField("Date et heure", auto_now_add=True)
27
-    reason = models.TextField("Raison")
28
-    counter = models.ForeignKey('Counter', related_name='counter')
27
+    timestamp = models.DateTimeField('date et heure', auto_now_add=True)
28
+    reason = models.TextField('raison')
29
+    counter = models.ForeignKey('Counter', related_name='counter',
30
+                                verbose_name='victime')
29 31
     who = models.ForeignKey('Counter', related_name='who',
32
+                            verbose_name='fouteur de seum',
30 33
                             blank=True, null=True, default=None)
31 34
 
32 35
     def __str__(self):
33
-        return "%s : %s (%s)" % (self.counter,
34
-                                 format_timedelta(
35
-                                     datetime.now() -
36
-                                     self.timestamp.replace(tzinfo=None),
37
-                                     locale='fr'), self.reason)
36
+        if (self.who is None or
37
+                self.who.id == self.counter.id):
38
+            return '%s : %s (%s)' % (self.counter,
39
+                                     format_timedelta(
40
+                                         datetime.now() -
41
+                                         self.timestamp.replace(tzinfo=None),
42
+                                         locale='fr'), self.reason)
43
+        else:
44
+            return '%s à %s : %s (%s)' % (self.who, self.counter,
45
+                                           format_timedelta(
46
+                                              datetime.now() -
47
+                                              self.timestamp.replace(
48
+                                                  tzinfo=None),
49
+                                              locale='fr'), self.reason)
38 50
 
39 51
     class Meta:
40
-        verbose_name = "Remise à zéro"
41
-        verbose_name_plural = "Remises à zéro"
52
+        verbose_name = 'remise à zéro'
53
+        verbose_name_plural = 'remises à zéro'
54
+
55
+
56
+class Like(models.Model):
57
+    liker = models.ForeignKey('Counter', verbose_name='likeur')
58
+    reset = models.ForeignKey('Reset', verbose_name='seum')
59
+    timestamp = models.DateTimeField('date et heure', auto_now_add=True)
60
+
61
+    class Meta:
62
+        verbose_name = 'like'
63
+        verbose_name_plural = 'likes'