Changeset - 283ac696efd1
[Not reviewed]
0 2 0
James Tauber - 12 years ago 2012-07-28 22:10:15
jtauber@jtauber.com
teams model tweaks and initial dashboard
2 files changed with 38 insertions and 13 deletions:
0 comments (0 inline, 0 general)
symposion/teams/models.py
Show inline comments
...
 
@@ -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)
 

	
 

	
symposion_project/templates/dashboard.html
Show inline comments
...
 
@@ -121,4 +121,29 @@
 
            </p>
 
        </div>
 
    </div>
 

	
 
    <div class="dashboard-panel">
 
        <div class="dashboard-panel-header">
 
            <i class="icon-group"></i>
 
            <h3>{% trans "Teams" %}</h3>
 
        </div>
 
        
 
        <div class="dashboard-panel-content">
 
            {% if user.memberships.exists %}
 
                <h4>Your Teams</h4>
 
                <ul>
 
                    {% for membership in user.memberships.all %}
 
                        <li>
 
                            {% if membership.state == "manager" %}
 
                                <a href="#">{{ membership.team.name }}</a>
 
                            {% else %}
 
                                {{ membership.team.name }}
 
                            {% endif %}
 
                            <span class="badge">{{ membership.get_state_display }}</span>
 
                        </li>
 
                    {% endfor %}
 
                </ul>
 
            {% endif %}
 
        </div>
 
    </div>
 
{% endblock %}
0 comments (0 inline, 0 general)