summaryrefslogtreecommitdiff
path: root/sbhs_server/slot
diff options
context:
space:
mode:
Diffstat (limited to 'sbhs_server/slot')
-rw-r--r--sbhs_server/slot/__init__.py0
-rw-r--r--sbhs_server/slot/admin.py3
-rw-r--r--sbhs_server/slot/migrations/0001_slot_timing_data.py29
-rw-r--r--sbhs_server/slot/migrations/__init__.py0
-rw-r--r--sbhs_server/slot/models.py3
-rw-r--r--sbhs_server/slot/tests.py3
-rw-r--r--sbhs_server/slot/views.py76
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)