Files
@ 6b41b5c4773c
Branch filter:
Location: symposion_app/symposion/schedule/helpers.py - annotation
6b41b5c4773c
1.2 KiB
text/x-python
Don't show unpublished schedule info to non-staff.
Add checks to schedule_list, schedule_list_csv, and
schedule_presentation_detail views to verify that either schedule is
published or that current user is staff before displaying information.
See c7592bc33e2626d84ec46fe1e7ba8e05c73ef74c.
Add checks to schedule_list, schedule_list_csv, and
schedule_presentation_detail views to verify that either schedule is
published or that current user is staff before displaying information.
See c7592bc33e2626d84ec46fe1e7ba8e05c73ef74c.
29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 a95825ede8d4 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 29c95fc96723 | """
This file contains functions that are useful to humans at the shell for
manipulating the database in more natural ways.
"""
from __future__ import unicode_literals
from django.db import transaction
from .models import Schedule, Day, Room, Slot, SlotKind, SlotRoom
@transaction.commit_on_success
def create_slot(section_slug, date, kind, start, end, rooms):
schedule = Schedule.objects.get(section__slug=section_slug)
slot = Slot()
slot.day = Day.objects.get(schedule=schedule, date=date)
slot.kind = SlotKind.objects.get(schedule=schedule, label=kind)
slot.start = start
slot.end = end
slot.save(force_insert=True)
if rooms == "all":
rooms_qs = Room.objects.filter(schedule=schedule).order_by("order")
else:
rooms_qs = Room.objects.filter(schedule=schedule, name__in=rooms).order_by("order")
if rooms_qs.count() != len(rooms):
raise Exception("input rooms do not match queried rooms; typo?")
for room in rooms_qs:
slot_room = SlotRoom()
slot_room.slot = slot
slot_room.room = room
slot_room.save(force_insert=True)
print "created {} [start={}; end={}]".format(slot.kind.label, slot.start, slot.end)
|