@@ -45,13 +45,13 @@ def can_apply(team, user):
@login_required
def team_detail(request, slug):
team = get_object_or_404(Team, slug=slug)
state = team.get_state_for_user(request.user)
if team.access == "invitation" and state is None and request.user.is_staff:
if team.access == "invitation" and state is None and not request.user.is_staff:
raise Http404()
return render(request, "teams/team_detail.html", {
"team": team,
"state": state,
"can_join": can_join(team, request.user),
@@ -61,13 +61,13 @@ def team_detail(request, slug):
def team_join(request, slug):
if can_join(team, request.user) and request.method == "POST":
membership, created = Membership.objects.get_or_create(team=team, user=request.user)
membership.state = "member"
membership.save()
@@ -78,13 +78,13 @@ def team_join(request, slug):
def team_leave(request, slug):
if can_leave(team, request.user) and request.method == "POST":
membership = Membership.objects.get(team=team, user=request.user)
membership.delete()
# contrib.message
@@ -94,13 +94,13 @@ def team_leave(request, slug):
def team_apply(request, slug):
if can_apply(team, request.user) and request.method == "POST":
membership.state = "applied"