Skip to content

Commit

Permalink
feat(intra): html fragment for team
Browse files Browse the repository at this point in the history
  • Loading branch information
japsu committed Jun 2, 2024
1 parent 79687b6 commit d344de6
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 4 deletions.
6 changes: 6 additions & 0 deletions backend/intra/templates/intra_teams_fragment.pug
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
for team in teams
h1= team.name

for member in team.members.all
if member.is_shown_publicly
div <strong>{{ member.display_name }}</strong>, {{ member.job_title }}
9 changes: 7 additions & 2 deletions backend/intra/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
from .views import (
intra_admin_privileges_view,
intra_admin_team_member_view,
intra_api_teams_view,
intra_organizer_view,
)
from .views.intra_api_teams_view import intra_api_teams_view, intra_teams_fragment_view

urlpatterns = [
re_path(
Expand Down Expand Up @@ -39,8 +39,13 @@
name="intra_admin_team_member_view",
),
re_path(
r"^api/v1/events/(?P<event_slug>[a-z0-9-]+)/teams",
r"^api/v1/events/(?P<event_slug>[a-z0-9-]+)/teams/?$",
intra_api_teams_view,
name="intra_api_teams_view",
),
re_path(
r"^api/v1/events/(?P<event_slug>[a-z0-9-]+)/teams.html$",
intra_teams_fragment_view,
name="intra_teams_fragment_view",
),
]
15 changes: 14 additions & 1 deletion backend/intra/views/intra_api_teams_view.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from django.http import JsonResponse
from django.http import HttpResponse, JsonResponse
from django.shortcuts import render

from ..helpers import intra_event_required
from ..models import Team
Expand All @@ -14,3 +15,15 @@ def intra_api_teams_view(request, event):
teams = Team.objects.filter(event=event, is_public=True).prefetch_related("members")

return JsonResponse(dict(teams=[team.as_dict(include_members=True) for team in teams]))


@intra_event_required
def intra_teams_fragment_view(request, event):
if not event.intra_event_meta.is_organizer_list_public and not event.intra_event_meta.is_user_allowed_to_access(
request.user
):
return HttpResponse("<h1>Unauthorized</h1>", status=403)

teams = Team.objects.filter(event=event, is_public=True).prefetch_related("members")

return render(request, "intra_teams_fragment.pug", dict(teams=teams))
3 changes: 2 additions & 1 deletion backend/kubernetes/production.vars.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ kompassi_cors_allowed_hosts:
- infotv.ropecon.fi
- v2.kompassi.eu
- wp.ropecon.fi

- 2024.tracon.fi
- 2024.hitpoint.tracon.fi

# TODO this list should probably be autogenerated from the list of Kompassi OIDC clients
# https://kompassi.eu/admin/oauth2_provider/application/
Expand Down
1 change: 1 addition & 0 deletions frontend/src/__generated__/graphql.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit d344de6

Please sign in to comment.