Changeset - 7db401e9a280
[Not reviewed]
0 2 0
James Tauber - 12 years ago 2012-08-02 17:03:16
jtauber@jtauber.com
show members and applicants on team detail page
2 files changed with 35 insertions and 0 deletions:
0 comments (0 inline, 0 general)
symposion/teams/models.py
Show inline comments
...
 
@@ -22,24 +22,36 @@ class Team(models.Model):
 
    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)
 
    
 
    def __unicode__(self):
 
        return self.name
 

	
 
    def get_state_for_user(self, user):
 
        try:
 
            return self.memberships.get(user=user).state
 
        except Membership.DoesNotExist:
 
            return None
 
    
 
    def applicants(self):
 
        return self.memberships.filter(state="applied")
 
    
 
    def invitees(self):
 
        return self.memberships.filter(state="invited")
 
    
 
    def members(self):
 
        return self.memberships.filter(state="member")
 
    
 
    def managers(self):
 
        return self.memberships.filter(state="manager")
 

	
 

	
 
MEMBERSHIP_STATE_CHOICES = [
 
    ("applied", "applied"),
 
    ("invited", "invited"),
 
    ("declined", "declined"),
 
    ("rejected", "rejected"),
 
    ("member", "member"),
 
    ("manager", "manager"),
 
]
 

	
 

	
symposion_project/templates/teams/team_detail.html
Show inline comments
...
 
@@ -19,13 +19,36 @@
 
            {% csrf_token %}
 
            <input type="submit" class="btn" value="leave">
 
        </form>
 
    {% endif %}
 
    
 
    {% if can_apply %}
 
        <form method="post" action="{% url team_apply team.slug %}"> 
 
            {% csrf_token %}
 
            <input type="submit" class="btn btn-primary" value="apply">
 
        </form>
 
    {% endif %}
 
    
 
    {% if user.is_staff or state == "manager" %}
 
        {% if team.members %}
 
            <h2>Team Members</h2>
 
            <table class="table table-striped">
 
                {% for membership in team.members %}
 
                    <tr>
 
                        <td>{{ membership.user.email }}</td>
 
                        <td>{{ membership.state }}</td>
 
                    </tr>
 
                {% endfor %}
 
            </table>
 
        {% endif %}
 
        {% if team.applicants and team.access == "application" %}
 
            <h2>Applicants</h2>
 
            <table class="table table-striped">
 
                {% for membership in team.applicants %}
 
                    <tr>
 
                        <td>{{ membership.user.email }}</td>
 
                    </tr>
 
                {% endfor %}
 
            </table>
 
        {% endif %}
 
    {% endif %}
 
{% endblock %}
0 comments (0 inline, 0 general)