{% extends "sakai/base.html" %}{% load molly_sakai %}{% load molly_utils %}{% load i18n %} {% block extrahead %} {% endblock %} {% block content %}

{{ event.title }}

{# Metadata about the sign-up slots #}
{# Time and Date #} {% ifequal event.start|date:"dMY" event.end|date:"dMY" %} {# Display Term Week + Name, Date + Time start -> end #} {{ event.startTime|from_sakai_timestamp|date:"d M Y" }} {{ event.startTime|from_sakai_timestamp|date:"g:iA" }} - {{ event.endTime|from_sakai_timestamp|date:"g:iA" }} {% else %} {# Display startTime + startDate - endTime + endDate #} {{ event.startTime|from_sakai_timestamp|date:"g:iA, d M Y" }} - {{ event.endTime|from_sakai_timestamp|date:"g:iA, d M Y" }} {% endifequal %}
{# Location #} {{ event.location }}
Description
{# CLENSE ME! #}
{{ event.description|sanitize_html }}
{% trans "Organiser" %}
{{ event.organizerName }}
{% trans "Status" %}
{% if event.startToSignUp and not event.passedDeadline %}
{% blocktrans with event.signupDeadline|from_sakai_timestamp|date:"DATETIME_FORMAT"|lower as signup_deadline %}Open to sign up until {{ signup_deadline }}{% endblocktrans %}
{% else %} {% if event.passedDeadline and not event.meetingExpired %}
{% trans "Sign up deadline has passed" %}
{% else %} {% if event.meetingExpired %}
{% trans "This meeting has already happened!" %}
{% else %}
{% blocktrans with event.signupBegins|from_sakai_timestamp|date:"DATETIME_FORMAT" as open_time %}Sign up will open on {{ open_time }}{% endblocktrans %}
{% endif %} {% endif %} {% endif %}
{# End Metadata about the sign-up slots #} {# Loop through the individual slots #} {% for ts in event.signupTimeSlotItems %} {% endfor %}
{{ ts|signup_status:event|signup_status_human }} {# Time Range -- needs multi date possibility #} {{ ts.startTime|from_sakai_timestamp|date:"g:iA"|lower }} - {{ ts.endTime|from_sakai_timestamp|date:"g:iA"|lower }}
{# max Attendees #} {% blocktrans with ts|places_left as places_left and ts.maxNoOfAttendees as capacity %}Places available: {{ places_left }}/{{ capacity }}{% endblocktrans %}
{# if the sign-up event is set up to display attendee names #} {% if ts.displayAttendees %} {% for attendee in ts.attendees %} {{ attendee.displayName }}{% if not forloop.last %},{% endif %} {% endfor %} {% else %} {# otherwise #} {% if ts.signedUp and not ts.attendees|length_is:"1" %} {% blocktrans count ts.attendees|length|add:"-1" as attendee_number %}You and {{ attendee_number }} other{% plural %}You and {{ attendee_number }} others{% endblocktrans %} {% else %} {% if ts.attendees|length_is:"0" %} {% trans "No one yet" %} {% else %} {% blocktrans count ts.attendees|length as attendee_number %}{{ attendee_number }} attendee{% plural %}{{ attendee_number }} attendees{% endblocktrans %} {% endif %} {% endif %} {% endif %} {# Is user signed up or on waiting list? #} {% if ts.signedUp %} {% trans "You're signed up" %} {% else %} {% if ts.onWaitList %}{% trans "You're on the waiting list" %}{% endif %} {% endif %}
{% csrf_token %} {% comment %} If meeting has a) Not Expired b) Not passed its deadline c) Is available to sign up d) Time slot is not locked {% endcomment %} {# The following mass of ifs results in a relevant button being displayed per time slot #} {% if not event.meetingExpired and not event.passedDeadline and event.startToSignUp and not ts.locked %} {# User is signed up to this slot, display cancel button #} {% if ts.signedUp %} {% else %} {# User is on waiting list #} {% if ts.onWaitList %} {% else %} {# Slot is available #} {% if ts.available %} {# User is signed up to a different slot #} {% if signedUp %} {% else %} {# Let user sign up #} {% endif %} {% else %} {# Let user join waiting list #} {% endif %} {% endif %} {% endif %} {% endif %}
{% endblock %}