diff --git a/intranet/apps/eighth/urls.py b/intranet/apps/eighth/urls.py index 27e83299d76..cfe93d95b91 100644 --- a/intranet/apps/eighth/urls.py +++ b/intranet/apps/eighth/urls.py @@ -2,10 +2,11 @@ from __future__ import unicode_literals from django.conf.urls import include, url -from .views import routers, signup, attendance, profile +from .views import routers, signup, attendance, activities, profile from .views.admin import ( - general, activities, blocks, groups, rooms, sponsors, scheduling) + general, blocks, groups, rooms, sponsors, scheduling) from .views.admin import attendance as admin_attendance +from .views.admin import activities as admin_activities urlpatterns = [ url(r"^$", routers.eighth_redirect_view, name="eighth_redirect"), @@ -29,19 +30,22 @@ url(r"^/profile(?:/(?P\d+))/signup/(?P\d+)?$", profile.profile_signup_view, name="eighth_profile_signup"), url(r"^/profile/edit(?:/(?P\d+))?$", profile.edit_profile_view, name="eighth_edit_profile"), - # Roster (for students) + # Roster (for students/teachers) url(r"^/roster/(?P\d+)$", attendance.roster_view, name="eighth_roster"), url(r"^/roster/raw/(?P\d+)$", attendance.raw_roster_view, name="eighth_raw_roster"), + # Activity Info (for students/teachers) + url(r"^/activity/(?P\d+)$", activities.activity_view, name="eighth_activity"), + # Admin url(r"^/admin$", general.eighth_admin_dashboard_view, name="eighth_admin_dashboard"), ] eighth_admin_patterns = [ - # Activities - url(r"^activities/add$", activities.add_activity_view, name="eighth_admin_add_activity"), - url(r"^activities/edit/(?P\d+)$", activities.edit_activity_view, name="eighth_admin_edit_activity"), - url(r"^activities/delete/(?P\d+)$", activities.delete_activity_view, name="eighth_admin_delete_activity"), + # admin_activities + url(r"^activities/add$", admin_activities.add_activity_view, name="eighth_admin_add_activity"), + url(r"^activities/edit/(?P\d+)$", admin_activities.edit_activity_view, name="eighth_admin_edit_activity"), + url(r"^activities/delete/(?P\d+)$", admin_activities.delete_activity_view, name="eighth_admin_delete_activity"), # Blocks url(r"^blocks/add$", blocks.add_block_view, name="eighth_admin_add_block"), diff --git a/intranet/apps/eighth/views/activities.py b/intranet/apps/eighth/views/activities.py new file mode 100644 index 00000000000..11f5cdbed0f --- /dev/null +++ b/intranet/apps/eighth/views/activities.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +import logging +from django import http +from django.contrib.auth.decorators import login_required +from django.shortcuts import render, redirect, get_object_or_404 +from ....utils.serialization import safe_json +from ...users.models import User +from ..exceptions import SignupException +from ..models import ( + EighthBlock, EighthSignup, EighthScheduledActivity, EighthActivity +) +from ..serializers import EighthBlockDetailSerializer + + +logger = logging.getLogger(__name__) + +@login_required +def activity_view(request, activity_id=None): + activity = get_object_or_404(EighthActivity, id=activity_id) + + first_block = EighthBlock.objects.get_first_upcoming_block() + + scheduled_activities = EighthScheduledActivity.objects.filter( + activity=activity + ) + + if first_block: + scheduled_activities = scheduled_activities.filter(block__date__gte=first_block.date) + + context = { + "activity": activity, + "scheduled_activities": scheduled_activities + } + + return render(request, "eighth/activity.html", context) \ No newline at end of file diff --git a/intranet/static/css/eighth.signup.css b/intranet/static/css/eighth.signup.css index ebba8e052af..dbf0b44b0bf 100644 --- a/intranet/static/css/eighth.signup.css +++ b/intranet/static/css/eighth.signup.css @@ -291,6 +291,11 @@ h3 { font-size: 20px; } +h3 > a { + color: rgb(72,72,72); + +} + #activity-picker h3.empty-state { color: rgb(170, 170, 170); text-align: center; diff --git a/intranet/templates/eighth/activity.html b/intranet/templates/eighth/activity.html new file mode 100644 index 00000000000..be3f3e2194e --- /dev/null +++ b/intranet/templates/eighth/activity.html @@ -0,0 +1,124 @@ +{% extends "page_with_nav.html" %} +{% load phone_numbers %} +{% load staticfiles %} + +{% block title %}{{ block.super }} - Activity: {{ activity }}{% endblock %} + + +{% block css %} + {{ block.super }} + + + + + +{% endblock %} + +{% block js %} + {{ block.super }} +{% endblock %} + +{% block main %} +
+ + {% if request.user.is_eighth_admin %} +
+ {% include "eighth/admin/start_date.html" %} +
+ {% endif %} + + + + Sign Up + + +

Activity: {{ activity }}

+
+ {% if activity.description %} +
Description:
+
{{ scheduled_activity.activity.description }}
+ {% endif %} +
{{ activity.description }}
+
Default Sponsors:
+
{% for sponsor in activity.sponsors.all %} + {{ sponsor.name }}{% if not forloop.last %}, {% endif %} + {% empty %} + None + {% endfor %}
+ +
Default Rooms:
+
{% for sponsor in activity.rooms.all %} + {{ room }}{% if not forloop.last %}, {% endif %} + {% empty %} + None + {% endfor %}
+ +
+ + + + +
+{% endblock %} diff --git a/intranet/templates/eighth/signup.html b/intranet/templates/eighth/signup.html index 43ad9ac0157..2be3e800235 100644 --- a/intranet/templates/eighth/signup.html +++ b/intranet/templates/eighth/signup.html @@ -140,7 +140,9 @@