Merge branch 'master' of ssh://git.wiai.de:22222/mgoetz/roofis2
This commit is contained in:
commit
fac7e14345
@ -177,11 +177,16 @@ LOGGING = {
|
||||
# },
|
||||
},
|
||||
'loggers': {
|
||||
# 'roomservice': {
|
||||
# 'handlers': ['console'],
|
||||
# 'level': 'INFO',
|
||||
# },
|
||||
|
||||
'roomservice': {
|
||||
'handlers': ['console'],
|
||||
'level': 'INFO',
|
||||
},
|
||||
'respool.management.sample_data_creation': {
|
||||
'roomservice.management.sample_data_creation': {
|
||||
'handlers': ['console'],
|
||||
'level': 'DEBUG'
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
from django.contrib import admin
|
||||
from .models import Staff, Room, RoomType, BookingGroup, Booking, Equipment, Location, Buildings, NumEquipment
|
||||
from .models import Staff, Room, RoomType, BookingGroup, Booking, Equipment, Location, Building, NumEquipment, \
|
||||
AccessPoint
|
||||
|
||||
# Register your models here.
|
||||
admin.site.register(Staff)
|
||||
@ -9,5 +10,6 @@ admin.site.register(BookingGroup)
|
||||
admin.site.register(Booking)
|
||||
admin.site.register(Equipment)
|
||||
admin.site.register(Location)
|
||||
admin.site.register(Buildings)
|
||||
admin.site.register(Building)
|
||||
admin.site.register(NumEquipment)
|
||||
admin.site.register(AccessPoint)
|
||||
|
||||
0
roofis2/roomservice/management/__init__.py
Normal file
0
roofis2/roomservice/management/__init__.py
Normal file
0
roofis2/roomservice/management/commands/__init__.py
Normal file
0
roofis2/roomservice/management/commands/__init__.py
Normal file
@ -0,0 +1,9 @@
|
||||
from django.core.management.base import BaseCommand
|
||||
from roomservice.management.sample_data_creation import data_creator
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = "Creates sample data and inserts it to db"
|
||||
|
||||
def handle(self, *args, **options):
|
||||
data_creator.create()
|
||||
@ -0,0 +1,144 @@
|
||||
from roomservice.models import RoomType, Room, NumEquipment, Building, Location, Equipment, Booking, BookingGroup, \
|
||||
Staff, AccessPoint
|
||||
from django.contrib.auth.models import User
|
||||
import logging
|
||||
import random
|
||||
import datetime
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
LOCATIONS = ['Bamberg', 'Erlangen', 'Crailsheim', 'Hamburg', 'Chemnitz', 'Dresden', 'Sebnitz', 'Gunzenhausen',
|
||||
'Nürnberg']
|
||||
BUILDINGS = ['253', '274', '134', '256', '142', '432', '652', '333', '233', '444', '332']
|
||||
ROOMTYPE = ['Office', 'Conference Room', 'Teaching Room']
|
||||
BOOKING_GROUP = ['Boss', 'SectionA', 'SectionB', 'SectionC', 'Standard']
|
||||
EQUIPMENT = ['Beamer', 'Flipchart']
|
||||
|
||||
|
||||
def create():
|
||||
logger.info('Location Count: {}'.format(Location.objects.count()))
|
||||
create_locations(LOCATIONS)
|
||||
logger.info('Location Count: {}'.format(Location.objects.count()))
|
||||
|
||||
logger.info('Building Count: {}'.format(Building.objects.count()))
|
||||
create_buildings(BUILDINGS)
|
||||
logger.info('Building Count: {}'.format(Building.objects.count()))
|
||||
|
||||
logger.info('RoomType Count: {}'.format(RoomType.objects.count()))
|
||||
create_room_type(ROOMTYPE)
|
||||
logger.info('RoomType Count: {}'.format(RoomType.objects.count()))
|
||||
|
||||
logger.info('BookingGroup Count: {}'.format(BookingGroup.objects.count()))
|
||||
create_booking_group(BOOKING_GROUP)
|
||||
logger.info('BookingGroup Count: {}'.format(BookingGroup.objects.count()))
|
||||
|
||||
logger.info('Equipment Count: {}'.format(Equipment.objects.count()))
|
||||
create_equipment(EQUIPMENT)
|
||||
logger.info('Equipment Count: {}'.format(Equipment.objects.count()))
|
||||
|
||||
logger.info('Staff Count: {}'.format(Staff.objects.count()))
|
||||
create_staff()
|
||||
logger.info('Staff Count: {}'.format(Staff.objects.count()))
|
||||
|
||||
logger.info('Room Count: {}'.format(Room.objects.count()))
|
||||
create_room()
|
||||
logger.info('Room Count: {}'.format(Room.objects.count()))
|
||||
|
||||
logger.info('Booking Count: {}'.format(Booking.objects.count()))
|
||||
create_booking()
|
||||
logger.info('Booking Count: {}'.format(Booking.objects.count()))
|
||||
|
||||
logger.info('NumEquipment Count: {}'.format(NumEquipment.objects.count()))
|
||||
create_num_equipment()
|
||||
logger.info('NumEquipment Count: {}'.format(NumEquipment.objects.count()))
|
||||
|
||||
logger.info('AccessPoint Count: {}'.format(AccessPoint.objects.count()))
|
||||
create_access_point()
|
||||
logger.info('AccessPoint Count: {}'.format(AccessPoint.objects.count()))
|
||||
|
||||
|
||||
def create_locations(names):
|
||||
for name in names:
|
||||
location, _ = Location.objects.get_or_create(name=name)
|
||||
|
||||
|
||||
def create_buildings(names):
|
||||
for name in names:
|
||||
building, _ = Building.objects.get_or_create(name=name, location=random.choice(Location.objects.all()))
|
||||
|
||||
|
||||
def create_room_type(types):
|
||||
for type in types:
|
||||
building, _ = RoomType.objects.get_or_create(type=type)
|
||||
|
||||
|
||||
def create_booking_group(names):
|
||||
for name in names:
|
||||
booking_group, _ = BookingGroup.objects.get_or_create(name=name)
|
||||
|
||||
|
||||
def create_equipment(names):
|
||||
for name in names:
|
||||
equipment, _ = Equipment.objects.get_or_create(name=name)
|
||||
|
||||
|
||||
def create_staff():
|
||||
for i in range(1, 30):
|
||||
user, _ = User.objects.get_or_create(username='MannFrau{}'.format(i), email='mann{}@frau.de'.format(i),
|
||||
password='1234abcdef#')
|
||||
staff, _ = Staff.objects.get_or_create(user=random.choice(User.objects.all()))
|
||||
staff.booking_group.add(random.choice(BookingGroup.objects.all()))
|
||||
# booking_group = random.choice(BookingGroup.objects.all())
|
||||
staff.save()
|
||||
|
||||
|
||||
def create_room():
|
||||
for i in range(1, 40):
|
||||
room, _ = Room.objects.get_or_create(building=random.choice(Building.objects.all()),
|
||||
room_number=random.randint(100, 956),
|
||||
capacity=random.randint(10, 400), seating=random.randint(0, 1),
|
||||
barrier_free=random.randint(0, 1), cooling=random.randint(0, 1),
|
||||
room_type=random.choice(RoomType.objects.all()),
|
||||
floor=random.randint(1, 6),
|
||||
admin=random.choice(BookingGroup.objects.all()),
|
||||
service_staff=random.choice(Staff.objects.all()))
|
||||
|
||||
|
||||
def create_booking():
|
||||
for i in range(1, 80):
|
||||
year = random.choice(range(2018, 2019))
|
||||
month = random.choice(range(1, 12))
|
||||
day = random.choice(range(1, 28))
|
||||
random_start_date = datetime.datetime(year, month, day)
|
||||
|
||||
delta = random.choice(range(0, 2))
|
||||
random_enddate_date = random_start_date + datetime.timedelta(delta)
|
||||
|
||||
hour = random.choice(range(6, 22))
|
||||
minute = random.choice(range(1, 59))
|
||||
start_time = datetime.datetime(year, month, day, hour=hour, minute=minute)
|
||||
|
||||
delta = random.choice(range(0, 3))
|
||||
end_time_time = start_time + datetime.timedelta(hours=delta)
|
||||
|
||||
booking, _ = Booking.objects.get_or_create(room=random.choice(Room.objects.all()),
|
||||
staff=random.choice(Staff.objects.all()),
|
||||
start_date=random_start_date, end_date=random_enddate_date,
|
||||
start_time=start_time, end_time=end_time_time,
|
||||
intervall=random.choice(range(0, 3)))
|
||||
|
||||
|
||||
def create_num_equipment():
|
||||
for i in range(1, 80):
|
||||
num_equipment = NumEquipment.objects.get_or_create(room=random.choice(Room.objects.all()),
|
||||
equipment=random.choice(Equipment.objects.all()),
|
||||
count=random.choice(range(1, 3)))
|
||||
|
||||
|
||||
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)), )
|
||||
for i in range(1, random.randint(1, 4)):
|
||||
access_point.rooms.add(random.choice(Room.objects.all()))
|
||||
access_point.save()
|
||||
@ -10,7 +10,7 @@ class Location(models.Model):
|
||||
return '{}'.format(self.name)
|
||||
|
||||
|
||||
class Buildings(models.Model):
|
||||
class Building(models.Model):
|
||||
name = models.CharField(max_length=16)
|
||||
location = models.ForeignKey(Location, on_delete=models.CASCADE)
|
||||
|
||||
@ -42,7 +42,7 @@ class Staff(models.Model):
|
||||
|
||||
|
||||
class Room(models.Model):
|
||||
building = models.ForeignKey(Buildings, on_delete=models.CASCADE)
|
||||
building = models.ForeignKey('Building', on_delete=models.CASCADE)
|
||||
room_number = models.CharField(max_length=16)
|
||||
capacity = models.IntegerField()
|
||||
seating = models.BooleanField()
|
||||
@ -91,3 +91,11 @@ class Booking(models.Model):
|
||||
def __str__(self):
|
||||
return '{} - {} - {}'.format(self.room.room_number, self.start_date.strftime('%Y - %m - %d'),
|
||||
self.end_date.strftime('%Y - %m - %d'))
|
||||
|
||||
|
||||
class AccessPoint(models.Model):
|
||||
mac_address = models.CharField(max_length=12)
|
||||
rooms = models.ManyToManyField(Room)
|
||||
|
||||
def __str__(self):
|
||||
return '{}'.format(self.mac_address)
|
||||
|
||||
@ -1,10 +1,169 @@
|
||||
{% extends 'base.jinja' %}
|
||||
{% block content %}
|
||||
<h1>Ressourcenpool Bamberg</h1>
|
||||
<p><strong>Impressum</strong></p>
|
||||
<p>Anbieter:<br />Max Mustermann<br />Musterstraße 1<br />96049 Bamberg</p>
|
||||
<p>Kontakt:<br />Telefon: 0951/12345678<br />Telefax: 0951/1234567<br />E-Mail: mail@mustermann.de<br />Website: www.mustermann.de</p>
|
||||
<p> </p>
|
||||
<p>Bei redaktionellen Inhalten:</p>
|
||||
<p>Verantwortlich nach § 55 Abs.2 RStV<br />Moritz Schreiberling<br />Musterstraße 2<br />96049 Bamberg</p>
|
||||
<table class="table table-hover table-light">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Time</th>
|
||||
<th scope="col">Monday</th>
|
||||
<th scope="col">Tuesday</th>
|
||||
<th scope="col">Wednesday</th>
|
||||
<th scope="col">Thursday</th>
|
||||
<th scope="col">Friday</th>
|
||||
<th scope="col">Saturday</th>
|
||||
<th scope="col">Sunday</th>
|
||||
</tr>
|
||||
</head>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">6:00 - 7:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></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>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">8:00 - 9:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></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>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">10:00 - 11:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></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>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">12:00 - 13:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></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>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">14:00 - 15:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></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>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">16:00 - 17:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></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>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">18:00 - 19:00</th>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></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>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user