From dd20cfac453b4f14d1078ff2556d02da0461d710 Mon Sep 17 00:00:00 2001 From: "piotr.atyjaszyk" <piotrmk1@gmail.com> Date: Wed, 16 Nov 2016 15:14:10 +0100 Subject: [PATCH] Created a db model and basic admin's tools --- smash/web/admin.py | 12 +++++ smash/web/models.py | 105 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+) diff --git a/smash/web/admin.py b/smash/web/admin.py index 8c38f3f3..33e2f64f 100644 --- a/smash/web/admin.py +++ b/smash/web/admin.py @@ -1,3 +1,15 @@ from django.contrib import admin +from models import * # Register your models here. +admin.site.register(Subject) +admin.site.register(Visit) +admin.site.register(Item) +admin.site.register(Room) +admin.site.register(AppType) +admin.site.register(Language) +admin.site.register(Worker) +admin.site.register(FlyingTeam) +admin.site.register(Avaibility) +admin.site.register(Holiday) +admin.site.register(Appointment) diff --git a/smash/web/models.py b/smash/web/models.py index bd4b2abe..d4a477f1 100644 --- a/smash/web/models.py +++ b/smash/web/models.py @@ -1,5 +1,110 @@ from __future__ import unicode_literals from django.db import models +from django.utils import timezone +from django.contrib.auth.models import User + + +class Subject(models.Model): + sex = models.CharField(max_length=1) + firstName = models.CharField(max_length=50) + lastName = models.CharField(max_length=50) + language = models.CharField(max_length=20) + phoneNo = models.CharField(max_length=20) + email = models.EmailField() + born = models.DateField() + address = models.CharField(max_length=255) + postalCode = models.CharField(max_length=6) + city = models.CharField(max_length=50) + screeningNo = models.CharField(max_length=50) + ndno = models.CharField(max_length=6) + visitNumber = models.IntegerField() + mpowerId = models.CharField(max_length=20) + subjectStatus = models.CharField(max_length=3) + mainPseudonym = models.CharField(max_length=45) + comments = models.CharField(max_length=2000) + + +class Visit(models.Model): + subject = models.ForeignKey(Subject, on_delete=models.CASCADE) + visitBegin = models.DateTimeField() + visitEnd = models.DateTimeField() + assesmentNo = models.IntegerField() + visitType = models.IntegerField() + visitFinished = models.BooleanField() + + +class Item (models.Model): + isFixed = models.BooleanField + name = models.CharField(max_length = 255) + + +class Room (models.Model): + possEquipment = models.ManyToManyField(Item) + owner = models.CharField(max_length = 50) + address = models.CharField(max_length = 255) + city = models.CharField(max_length = 50) + roomNo = models.IntegerField() + floor = models.IntegerField() + isVehicle = models.BooleanField() + + +class AppType (models.Model): + reqEquipment = models.ManyToManyField(Item) + followUp = models.ForeignKey('self') + apCode = models.CharField(max_length = 20) + apDescription = models.CharField(max_length = 2000) + apDefaultTime = models.IntegerField() + apRestTime = models.IntegerField() + + +class Language (models.Model): + name = models.CharField(max_length = 20) + image = models.ImageField() + + +class Worker (models.Model): + languages = models.ManyToManyField(Language) + appointments = models.ManyToManyField('Appointment') + user = models.OneToOneField(User) + firstName = models.CharField(max_length=50) + lastName = models.CharField(max_length=50) + phoneNo = models.CharField(max_length=20) + email = models.EmailField() + role = models.CharField(max_length=20) + specialization = models.CharField(max_length=20) + + +class FlyingTeam(models.Model): + doctor = models.ForeignKey(Worker, related_name='FlyingTeamDoctor') + nurse = models.ForeignKey(Worker, related_name='FlyingTeamNurse') + psychologist = models.ForeignKey(Worker, related_name='FlyingTeamPsychologist') + dateTimeCalled = models.DateTimeField() + dateTimeUntil = models.DateTimeField() + + +class Avaibility(models.Model): + person = models.ForeignKey(Worker, on_delete=models.CASCADE) + dayNo = models.IntegerField() + availFro = models.TimeField() + availTil = models.TimeField() + current = models.BooleanField() + +class Holiday(models.Model): + person = models.ForeignKey(Worker, on_delete=models.CASCADE) + holidayStart = models.DateTimeField() + holidayEnd = models.DateTimeField() + +class Appointment(models.Model): + flyingTeam = models.ForeignKey(FlyingTeam) + appType = models.ForeignKey(AppType) + room = models.ForeignKey(Room) + visit = models.ForeignKey(Visit) + appDateTime = models.DateTimeField() + appLength = models.IntegerField() + appFinished = models.BooleanField() + + + # Create your models here. -- GitLab