From 283ac696efd1b2f40a15ddb5e73e856afcd8c7c4 Mon Sep 17 00:00:00 2001
From: James Tauber
Date: Sat, 28 Jul 2012 18:10:15 -0400
Subject: [PATCH] teams model tweaks and initial dashboard
---
symposion/teams/models.py | 26 +++++++++++-----------
symposion_project/templates/dashboard.html | 25 +++++++++++++++++++++
2 files changed, 38 insertions(+), 13 deletions(-)
diff --git a/symposion/teams/models.py b/symposion/teams/models.py
index cf016d57..4f9b4ed1 100644
--- a/symposion/teams/models.py
+++ b/symposion/teams/models.py
@@ -8,9 +8,9 @@ from django.contrib.auth.models import Permission, User
TEAM_ACCESS_CHOICES = [
- (1, "open"),
- (2, "by application"),
- (3, "by invitation")
+ ("open", "open"),
+ ("application", "by application"),
+ ("invitation", "by invitation")
]
@@ -19,7 +19,7 @@ class Team(models.Model):
slug = models.SlugField(unique=True)
name = models.CharField(max_length=100)
description = models.TextField(blank=True)
- access = models.IntegerField(choices=TEAM_ACCESS_CHOICES)
+ access = models.CharField(max_length=20, choices=TEAM_ACCESS_CHOICES)
permissions = models.ManyToManyField(Permission, blank=True)
created = models.DateTimeField(default=datetime.datetime.now, editable=False)
@@ -28,20 +28,20 @@ class Team(models.Model):
MEMBERSHIP_STATE_CHOICES = [
- (1, "applied"),
- (2, "invited"),
- (3, "declined"),
- (4, "rejected"),
- (5, "member"),
- (6, "manager"),
+ ("applied", "applied"),
+ ("invited", "invited"),
+ ("declined", "declined"),
+ ("rejected", "rejected"),
+ ("member", "member"),
+ ("manager", "manager"),
]
class Membership(models.Model):
- user = models.ForeignKey(User)
- team = models.ForeignKey(Team)
- state = models.IntegerField(choices=MEMBERSHIP_STATE_CHOICES)
+ user = models.ForeignKey(User, related_name="memberships")
+ team = models.ForeignKey(Team, related_name="memberships")
+ state = models.CharField(max_length=20, choices=MEMBERSHIP_STATE_CHOICES)
message = models.TextField(blank=True)
diff --git a/symposion_project/templates/dashboard.html b/symposion_project/templates/dashboard.html
index efd32954..33b3ee0b 100644
--- a/symposion_project/templates/dashboard.html
+++ b/symposion_project/templates/dashboard.html
@@ -121,4 +121,29 @@
+
+
+
+
+
+ {% if user.memberships.exists %}
+
Your Teams
+
+ {% for membership in user.memberships.all %}
+ -
+ {% if membership.state == "manager" %}
+ {{ membership.team.name }}
+ {% else %}
+ {{ membership.team.name }}
+ {% endif %}
+ {{ membership.get_state_display }}
+
+ {% endfor %}
+
+ {% endif %}
+
+
{% endblock %}