Files
@ 2f89311d4225
Branch filter:
Location: symposion_app/symposion/schedule/helpers.py - annotation
2f89311d4225
1.2 KiB
text/x-python
Merge branch 'master' of https://github.com/KyivPy/symposion into KyivPy-master
Conflicts:
symposion/cms/urls.py
symposion/proposals/urls.py
symposion/proposals/views.py
symposion/reviews/urls.py
symposion/schedule/urls.py
symposion/sponsorship/urls.py
Conflicts:
symposion/cms/urls.py
symposion/proposals/urls.py
symposion/proposals/views.py
symposion/reviews/urls.py
symposion/schedule/urls.py
symposion/sponsorship/urls.py
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 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 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)
|