diff options
Diffstat (limited to 'sbhs_server/slot')
-rw-r--r-- | sbhs_server/slot/__init__.py | 0 | ||||
-rw-r--r-- | sbhs_server/slot/admin.py | 3 | ||||
-rw-r--r-- | sbhs_server/slot/migrations/0001_slot_timing_data.py | 29 | ||||
-rw-r--r-- | sbhs_server/slot/migrations/__init__.py | 0 | ||||
-rw-r--r-- | sbhs_server/slot/models.py | 3 | ||||
-rw-r--r-- | sbhs_server/slot/tests.py | 3 | ||||
-rw-r--r-- | sbhs_server/slot/views.py | 76 |
7 files changed, 0 insertions, 114 deletions
diff --git a/sbhs_server/slot/__init__.py b/sbhs_server/slot/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/sbhs_server/slot/__init__.py +++ /dev/null diff --git a/sbhs_server/slot/admin.py b/sbhs_server/slot/admin.py deleted file mode 100644 index 8c38f3f..0000000 --- a/sbhs_server/slot/admin.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.contrib import admin - -# Register your models here. diff --git a/sbhs_server/slot/migrations/0001_slot_timing_data.py b/sbhs_server/slot/migrations/0001_slot_timing_data.py deleted file mode 100644 index 158f201..0000000 --- a/sbhs_server/slot/migrations/0001_slot_timing_data.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8 -*- -from south.utils import datetime_utils as datetime -from south.db import db -from south.v2 import DataMigration -from django.db import models -from sbhs_server.tables.models import Slot - -class Migration(DataMigration): - - def forwards(self, orm): - # "Write your forwards methods here." - # Note: Don't use "from appname.models import ModelName". - # Use orm.ModelName to refer to models in this application, - # and orm['appname.ModelName'] for models in other applications. - for i in xrange(24): - Slot.objects.create(start_hour=i, end_hour=i, start_minute=0, end_minute=55) - - def backwards(self, orm): - # "Write your backwards methods here." - for i in xrange(24): - Slot.objects.delete(i) - - - models = { - - } - - complete_apps = ['slot'] - symmetrical = True diff --git a/sbhs_server/slot/migrations/__init__.py b/sbhs_server/slot/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/sbhs_server/slot/migrations/__init__.py +++ /dev/null diff --git a/sbhs_server/slot/models.py b/sbhs_server/slot/models.py deleted file mode 100644 index 71a8362..0000000 --- a/sbhs_server/slot/models.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.db import models - -# Create your models here. diff --git a/sbhs_server/slot/tests.py b/sbhs_server/slot/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/sbhs_server/slot/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/sbhs_server/slot/views.py b/sbhs_server/slot/views.py deleted file mode 100644 index b137f93..0000000 --- a/sbhs_server/slot/views.py +++ /dev/null @@ -1,76 +0,0 @@ -from django.contrib.auth.decorators import login_required -from django.shortcuts import render, redirect -from django.contrib import messages -from sbhs_server.tables.models import Account, Slot, Booking -import datetime - -LIMIT = 2 - -@login_required(redirect_field_name=None) -def new(req): - cur_slots = Slot.current_slots(req.user.board.mid) - all_slots = Slot.get_free_slots(req.user.board.mid) - date = (datetime.datetime.now()).strftime("%Y-%m-%d") - return render(req, "slot/new.html", {"all_slots": all_slots, "cur_slots": cur_slots, "nowdate": date}) - -@login_required(redirect_field_name=None) -def show(req, date_string): - date = datetime.datetime.strptime(date_string, "%Y-%m-%d") - all_slots = Slot.get_free_slots_on(date, req.user.board.mid) - return render(req, "slot/show.html", {"all_slots": all_slots}) - -@login_required(redirect_field_name=None) -def create(req): - slot = Slot.objects.get(id=req.POST.get("slot")) - date_string = req.POST.get("date") - date = datetime.date.today() if date_string == "CURRENT" else datetime.datetime.strptime(date_string, "%Y-%m-%d") - all_slots = Slot.get_free_slots(req.user.board.mid) if date_string == "CURRENT" else Slot.get_free_slots_on(date, req.user.board.mid) - - if slot in all_slots: - if date_string == "CURRENT": - Booking.objects.create(slot=slot, account=req.user, booking_date=date) - messages.add_message(req, messages.SUCCESS, "Slot " + str(slot) + " booked successfully.") - else: - bookings = req.user.booking_set.select_related("slot").filter(booking_date__year=date.year, - booking_date__month=date.month, - booking_date__day=date.day) - if len(bookings) >= LIMIT: - messages.add_message(req, messages.ERROR, "Can't book more than " + str(LIMIT) + " slots in a day in advance.") - elif len(bookings) < LIMIT: - consecutive_check = True - for b in bookings: - if abs(b.slot.start_hour - slot.start_hour) <= 1: - consecutive_check = False - break - if not consecutive_check: - messages.add_message(req, messages.ERROR, "Can't book 2 consecutive slots in a day in advance.") - else: - Booking.objects.create(slot=slot, account=req.user, booking_date=date) - messages.add_message(req, messages.SUCCESS, "Slot " + str(slot) + " booked successfully.") - else: - messages.add_message(req, messages.ERROR, "Slot " + str(slot) + " already booked.") - - return redirect(index) - -@login_required(redirect_field_name=None) -def index(req): - bookings = req.user.booking_set.select_related("slot").order_by("booking_date") - - return render(req, "slot/index.html", {"bookings": reversed(bookings), - "now_time": datetime.datetime.now()}) - - -@login_required(redirect_field_name=None) -def delete(req, booking_id): - try: - booking = Booking.objects.select_related("slot").get(id=booking_id) - assert booking.account_id == req.user.id - if booking.start_time() > datetime.datetime.now(): - booking.delete() - messages.add_message(req, messages.SUCCESS, "Slot booking deleted successfully.") - else: - messages.add_message(req, messages.ERROR, "Slot time is over. Cannot delete this booking now.") - except: - messages.add_message(req, messages.ERROR, "Booking does not exist.") - - return redirect(index) |