merged urls
This commit is contained in:
commit
f3bde41755
@ -20,7 +20,6 @@ from rest_framework.documentation import include_docs_urls
|
||||
from rest_framework.permissions import AllowAny
|
||||
from django.contrib.auth import views as auth_views
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
path('admin/', admin.site.urls),
|
||||
path('', include('roomservice.urls')),
|
||||
@ -28,9 +27,8 @@ urlpatterns = [
|
||||
path('login/', auth_views.login, {'template_name': 'login.jinja'}, name='login'),
|
||||
path('logout/', auth_views.logout, name='logout'),
|
||||
|
||||
|
||||
# APIs
|
||||
# path('api/', include('respool.api.urls')),
|
||||
path('api/', include('roomservice.api.urls')),
|
||||
|
||||
# API Docs
|
||||
# path('api/docs/', include_docs_urls(title='Respool API Docs', public=True,
|
||||
|
||||
0
roofis2/roomservice/api/__init__.py
Normal file
0
roofis2/roomservice/api/__init__.py
Normal file
20
roofis2/roomservice/api/serializers.py
Normal file
20
roofis2/roomservice/api/serializers.py
Normal file
@ -0,0 +1,20 @@
|
||||
from roomservice.models import Booking, Room
|
||||
from rest_framework import serializers
|
||||
|
||||
|
||||
class RoomSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
model = Room
|
||||
fields = ('id',)
|
||||
|
||||
|
||||
class BookingSerializer(serializers.HyperlinkedModelSerializer):
|
||||
room = RoomSerializer(many=False, read_only=True)
|
||||
start_date = serializers.DateField(format='iso-8601')
|
||||
end_date = serializers.DateField(format='iso-8601')
|
||||
start_time = serializers.TimeField(format='iso-8601')
|
||||
end_time = serializers.TimeField(format='iso-8601')
|
||||
|
||||
class Meta:
|
||||
model = Booking
|
||||
fields = ('id', 'room', 'start_date', 'end_date', 'start_time', 'end_time')
|
||||
7
roofis2/roomservice/api/urls.py
Normal file
7
roofis2/roomservice/api/urls.py
Normal file
@ -0,0 +1,7 @@
|
||||
from django.urls import path
|
||||
from . import views
|
||||
|
||||
app_name = 'roomservice.api'
|
||||
urlpatterns = [
|
||||
path('booking', views.ApiBooking.as_view(), name='api-booking'),
|
||||
]
|
||||
21
roofis2/roomservice/api/views.py
Normal file
21
roofis2/roomservice/api/views.py
Normal file
@ -0,0 +1,21 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from roomservice.models import Booking
|
||||
from roomservice.api.serializers import BookingSerializer
|
||||
|
||||
from rest_framework import generics
|
||||
from rest_framework.decorators import permission_classes
|
||||
from rest_framework.permissions import IsAuthenticated, AllowAny
|
||||
|
||||
|
||||
@permission_classes((AllowAny,))
|
||||
class ApiBooking(generics.ListAPIView):
|
||||
serializer_class = BookingSerializer
|
||||
|
||||
def get_queryset(self):
|
||||
queryset = Booking.objects.all()
|
||||
roomId = self.request.query_params.get('room_id')
|
||||
|
||||
if roomId:
|
||||
queryset = queryset.filter(room=roomId)
|
||||
return queryset
|
||||
9
roofis2/roomservice/forms.py
Normal file
9
roofis2/roomservice/forms.py
Normal file
@ -0,0 +1,9 @@
|
||||
from django.db import models
|
||||
from .models import Favorite
|
||||
from django.forms import ModelForm
|
||||
|
||||
|
||||
class AuthorForm(ModelForm):
|
||||
class Meta:
|
||||
model = Favorite
|
||||
fields = ['room', 'staff']
|
||||
@ -142,7 +142,7 @@ def create_num_equipment():
|
||||
def create_access_point():
|
||||
for i in range(1, 25):
|
||||
access_point, _ = AccessPoint.objects.get_or_create(mac_address=''.join(
|
||||
random.choices(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'], k=12)), )
|
||||
random.choices(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'], k=12)))
|
||||
for i in range(1, random.randint(1, 4)):
|
||||
access_point.rooms.add(random.choice(Room.objects.all()))
|
||||
access_point.save()
|
||||
|
||||
@ -1,12 +1,14 @@
|
||||
from django.urls import path
|
||||
from django.urls import path, include
|
||||
from . import views
|
||||
|
||||
app_name = 'roomservice'
|
||||
urlpatterns = [
|
||||
path('', views.favorites, name='home'),
|
||||
path('favorite', views.add_favorites, name='add-fav'),
|
||||
|
||||
path('adminpage', views.admin, name='admin'),
|
||||
path('booking', views.booking, name='booking'),
|
||||
path('search', views.search, name='search'),
|
||||
path('location_search', views.location_based_search, name='location-based-search'),
|
||||
path('filter_search', views.filter_search, name='filter-search'),
|
||||
]
|
||||
path('filter_search', views.filter_search, name='filter-search')]
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
from roomservice.models import Room, Favorite
|
||||
from django.shortcuts import render, redirect
|
||||
from roomservice.models import Room, Favorite, Booking
|
||||
import datetime
|
||||
from django.shortcuts import render
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@ -14,9 +15,47 @@ def search(request):
|
||||
def booking(request):
|
||||
room_id = request.POST["room"]
|
||||
room = Room.objects.get(id=room_id)
|
||||
logger.info(room_id)
|
||||
logger.info(room)
|
||||
return render(request, 'booking.jinja', {"title": "rooF(i)S is love rooF(i)S is live!!", "room": room})
|
||||
startdate = datetime.date.today()
|
||||
weekday = startdate.weekday()
|
||||
logger.info(weekday)
|
||||
enddate = startdate + datetime.timedelta(7)
|
||||
multd = []
|
||||
bookings = Booking.objects.filter(room_id=room.id, start_date__gte=startdate, end_date__lte=enddate)
|
||||
logger.info(bookings)
|
||||
for booking in bookings:
|
||||
logger.info(booking)
|
||||
sdate = booking.start_date
|
||||
logger.info(sdate)
|
||||
edate = booking.end_date
|
||||
logger.info(edate)
|
||||
stime = booking.start_time.hour
|
||||
logger.info(stime)
|
||||
etime = booking.end_time.hour + 1
|
||||
logger.info(etime)
|
||||
if edate != sdate:
|
||||
break
|
||||
else:
|
||||
if weekday == 0:
|
||||
day = "Monday"
|
||||
elif weekday == 1:
|
||||
day = "Tuesday"
|
||||
elif weekday == 2:
|
||||
day = "Wednesday"
|
||||
elif weekday == 3:
|
||||
day = "Thursday"
|
||||
elif weekday == 4:
|
||||
day = "Friday"
|
||||
elif weekday == 5:
|
||||
day = "Saturday"
|
||||
elif weekday == 6:
|
||||
day = "Sunday"
|
||||
timediff = etime - stime
|
||||
if timediff > 1:
|
||||
while timediff > 1:
|
||||
multd.append(day + (stime + timediff - 1).__str__() + "-" + (stime + timediff).__str__())
|
||||
timediff = timediff - 1
|
||||
logger.info(multd)
|
||||
return render(request, 'booking.jinja', {"title": "rooF(i)S is love rooF(i)S is live!!", "multd": multd})
|
||||
|
||||
|
||||
def admin(request):
|
||||
@ -32,6 +71,13 @@ def favorites(request):
|
||||
{"title": "rooF(i)S is love rooF(i)S is live!!"})
|
||||
|
||||
|
||||
def add_favorites(request):
|
||||
if request.method == 'POST':
|
||||
pass
|
||||
else:
|
||||
return render(request, 'add_fav.jinja', {"title": "Add a new Favorite"})
|
||||
|
||||
|
||||
def location_based_search(request):
|
||||
return render(request, 'favorites.jinja', {"title": "rooF(i)S is love rooF(i)S is live!!"})
|
||||
|
||||
|
||||
@ -5,4 +5,10 @@
|
||||
line-height: 3.5em;
|
||||
vertical-align: middle;
|
||||
padding-left: -1em;
|
||||
}
|
||||
td{
|
||||
background-color: lawngreen;
|
||||
}
|
||||
.booked{
|
||||
background-color: red;
|
||||
}
|
||||
15
roofis2/templates/add_fav.jinja
Normal file
15
roofis2/templates/add_fav.jinja
Normal file
@ -0,0 +1,15 @@
|
||||
{% extends 'base.jinja' %}
|
||||
{% block content %}
|
||||
<div class="row container">
|
||||
<div class="col-12"><h2>Add Favorite</h2></div>
|
||||
<div class="col-2"></div>
|
||||
<div class="col-8">
|
||||
<form method="post">
|
||||
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
|
||||
{{ form.as_p() }}
|
||||
<button type="submit">Login</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col-2"></div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@ -1,6 +1,12 @@
|
||||
{% extends 'base.jinja' %}
|
||||
{% block content %}
|
||||
<table class="table table-hover table-light">
|
||||
{% for day in multd%}
|
||||
<script>
|
||||
var el = document.getElementById("{{day}}");
|
||||
el.classList.add("booked");
|
||||
</script>
|
||||
{% endfor %}
|
||||
<table class="table table-light">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Time</th>
|
||||
@ -12,157 +18,147 @@
|
||||
<th scope="col">Saturday</th>
|
||||
<th scope="col">Sunday</th>
|
||||
</tr>
|
||||
</head>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">6:00 - 7:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td id="Monday6-7" class=""></td>
|
||||
<td id="Tuesday6-7" class=""></td>
|
||||
<td id="Wednesday6-7" class=""></td>
|
||||
<td id="Thursday6-7" class=""></td>
|
||||
<td id="Friday6-7" class=""></td>
|
||||
<td id="Saturday6-7" class=""></td>
|
||||
<td id="Sunday6-7" class=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">7:00 - 8:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td id="Monday7-8" class=""></td>
|
||||
<td id="Tuesday7-8" class=""></td>
|
||||
<td id="Wednesday7-8" class=""></td>
|
||||
<td id="Thursday7-8" class=""></td>
|
||||
<td id="Friday7-8" class=""></td>
|
||||
<td id="Saturday7-8" class=""></td>
|
||||
<td id="Sunday7-8" class=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">8:00 - 9:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td id="Monday8-9" class=""></td>
|
||||
<td id="Tuesday8-9" class=""></td>
|
||||
<td id="Wednesday8-9" class=""></td>
|
||||
<td id="Thursday8-9" class=""></td>
|
||||
<td id="Friday8-9" class=""></td>
|
||||
<td id="Saturday8-9" class=""></td>
|
||||
<td id="Sunday8-9" class=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">9:00 - 10:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td id="Monday9-10" class=""></td>
|
||||
<td id="Tuesday9-10" class=""></td>
|
||||
<td id="Wednesday9-10" class=""></td>
|
||||
<td id="Thursday9-10" class=""></td>
|
||||
<td id="Friday9-10" class=""></td>
|
||||
<td id="Saturday9-10" class=""></td>
|
||||
<td id="Sunday9-10" class=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">10:00 - 11:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td id="Monday10-11" class=""></td>
|
||||
<td id="Tuesday10-11" class=""></td>
|
||||
<td id="Wednesday10-11" class=""></td>
|
||||
<td id="Thursday10-11" class=""></td>
|
||||
<td id="Friday10-11" class=""></td>
|
||||
<td id="Saturday10-11" class=""></td>
|
||||
<td id="Sunday10-11" class=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">11:00 - 12:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td id="Monday11-12" class=""></td>
|
||||
<td id="Tuesday11-12" class=""></td>
|
||||
<td id="Wednesday11-12" class=""></td>
|
||||
<td id="Thursday11-12" class=""></td>
|
||||
<td id="Friday11-12" class=""></td>
|
||||
<td id="Saturday11-12" class=""></td>
|
||||
<td id="Sunday11-12" class=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">12:00 - 13:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td id="Monday12-13" class=""></td>
|
||||
<td id="Tuesday12-13" class=""></td>
|
||||
<td id="Wednesday12-13" class=""></td>
|
||||
<td id="Thursday12-13" class=""></td>
|
||||
<td id="Friday12-13" class=""></td>
|
||||
<td id="Saturday12-13" class=""></td>
|
||||
<td id="Sunday12-13" class=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">13:00 - 14:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td id="Monday13-14" class=""></td>
|
||||
<td id="Tuesday13-14" class=""></td>
|
||||
<td id="Wednesday13-14" class=""></td>
|
||||
<td id="Thursday13-14" class=""></td>
|
||||
<td id="Friday13-14" class=""></td>
|
||||
<td id="Saturday13-14" class=""></td>
|
||||
<td id="Sunday13-14" class=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">14:00 - 15:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td id="Monday14-15" class=""></td>
|
||||
<td id="Tuesday14-15" class=""></td>
|
||||
<td id="Wednesday14-15" class=""></td>
|
||||
<td id="Thursday14-15" class=""></td>
|
||||
<td id="Friday14-15" class=""></td>
|
||||
<td id="Saturday14-15" class=""></td>
|
||||
<td id="Sunday14-15" class=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">15:00 - 16:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td id="Monday15-16" class=""></td>
|
||||
<td id="Tuesday15-16" class=""></td>
|
||||
<td id="Wednesday15-16" class=""></td>
|
||||
<td id="Thursday15-16" class=""></td>
|
||||
<td id="Friday15-16" class=""></td>
|
||||
<td id="Saturday15-16" class=""></td>
|
||||
<td id="Sunday15-16" class=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">16:00 - 17:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td id="Monday16-17" class=""></td>
|
||||
<td id="Tuesday16-17" class=""></td>
|
||||
<td id="Wednesday16-17" class=""></td>
|
||||
<td id="Thursday16-17" class=""></td>
|
||||
<td id="Friday16-17" class=""></td>
|
||||
<td id="Saturday16-17" class=""></td>
|
||||
<td id="Sunday16-17" class=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">17:00 - 18:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td id="Monday17-18" class=""></td>
|
||||
<td id="Tuesday17-18" class=""></td>
|
||||
<td id="Wednesday17-18" class=""></td>
|
||||
<td id="Thursday17-18" class=""></td>
|
||||
<td id="Friday17-18" class=""></td>
|
||||
<td id="Saturday17-18" class=""></td>
|
||||
<td id="Sunday17-18" class=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">18:00 - 19:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td id="Monday18-19" class=""></td>
|
||||
<td id="Tuesday18-19" class=""></td>
|
||||
<td id="Wednesday18-19" class=""></td>
|
||||
<td id="Thursday18-19" class=""></td>
|
||||
<td id="Friday18-19" class=""></td>
|
||||
<td id="Saturday18-19" class=""></td>
|
||||
<td id="Sunday18-19" class=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">19:00 - 20:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">20:00 - 6:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td id="Monday19-20" class=""></td>
|
||||
<td id="Tuesday19-20" class=""></td>
|
||||
<td id="Wednesday19-20" class=""></td>
|
||||
<td id="Thursday19-20" class=""></td>
|
||||
<td id="Friday19-20" class=""></td>
|
||||
<td id="Saturday19-20" class=""></td>
|
||||
<td id="Sunday19-20" class=""></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
</div>
|
||||
{% endfor %}
|
||||
<div class="col-6">
|
||||
{{ macros.home_item_with_icon(icon='fa-plus', icon_size='fa-4x', url_id='', link='', title='Add Fav', attr='') }}
|
||||
{{ macros.home_item_with_icon(icon='fa-plus', icon_size='fa-4x', url_id='roomservice:add-fav', link='', title='Add Fav', attr='') }}
|
||||
</div>
|
||||
{% if request.user.is_superuser %}
|
||||
<div class="col-6">
|
||||
|
||||
Reference in New Issue
Block a user