Browse Source

Ajouts des trigrammes aux utilisateurs

omassot 7 năm trước cách đây
mục cha
commit
23981ad10a
4 tập tin đã thay đổi với 46 bổ sung12 xóa
  1. 11 10
      main/admin.py
  2. 24 0
      main/migrations/0003_member.py
  3. 9 0
      main/models.py
  4. 2 2
      main/templates/index.html

+ 11 - 10
main/admin.py

@@ -1,10 +1,11 @@
-from django.contrib import admin
-
-from main.models import Epic, Story, Project, Sprint, Comment
-
-
-admin.site.register(Project)
-admin.site.register(Epic)
-admin.site.register(Sprint)
-admin.site.register(Story)
-admin.site.register(Comment)
+from django.contrib import admin
+
+from main.models import Epic, Story, Project, Sprint, Comment, Member
+
+
+admin.site.register(Member)
+admin.site.register(Project)
+admin.site.register(Epic)
+admin.site.register(Sprint)
+admin.site.register(Story)
+admin.site.register(Comment)

+ 24 - 0
main/migrations/0003_member.py

@@ -0,0 +1,24 @@
+# Generated by Django 2.1.1 on 2018-11-12 15:59
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+        ('main', '0002_sprint_closed'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='Member',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('trigram', models.CharField(max_length=5)),
+                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
+            ],
+        ),
+    ]

+ 9 - 0
main/models.py

@@ -8,6 +8,12 @@ from django.db import models, connection
 from django.db.models.aggregates import Sum
 from martor.models import MartorField
 
+class Member(models.Model):
+    user = models.OneToOneField(User, on_delete=models.CASCADE)
+    trigram = models.CharField(max_length=5)
+
+    def __str__(self):
+        return self.trigram
 
 class BaseModel(models.Model):
     created = models.DateTimeField(auto_now_add=True)
@@ -87,6 +93,9 @@ class Epic(BaseModel):
                                     """.format(self.id))
         return list(qry)
     
+    def contributors_str(self):
+        return ", ".join([c.member.trigram for c in self.contributors()])
+    
 class Sprint(BaseModel):
     class Meta:
         verbose_name_plural = "sprint"

+ 2 - 2
main/templates/index.html

@@ -27,7 +27,7 @@
 		<thead>
 			<th width="70%">Epic</th>
 			<th>Dim.</th>
-			<th>Contrib.</th>
+			<th>Contributeurs</th>
 			<th>Stories</th>
 		</thead>
 		
@@ -39,7 +39,7 @@
 					<b>{{ epic.name }}</b>
 				</td>
 				<td>{{ epic.size }}</td>
-				<td>{% for contrib in epic.contributors %}{{ contrib.username }}{% if not forloop.last %}, {% endif %}{% endfor %}</td>
+				<td>{{ epic.contributors_str }}</td>
 				<td>{{ epic.nb_stories }}</td>
 			</tr>
 			{% endfor %}