From 46ef7bfe9a984d5ec79a145046fbeddda63a0b99 Mon Sep 17 00:00:00 2001 From: "piotr.atyjaszyk" <piotrmk1@gmail.com> Date: Wed, 18 Jan 2017 12:07:10 +0100 Subject: [PATCH] Added verbose names as well as default prints --- smash/web/models.py | 289 +++++++++++++++++++++++++++++++++----------- 1 file changed, 220 insertions(+), 69 deletions(-) diff --git a/smash/web/models.py b/smash/web/models.py index 24789405..096f3993 100644 --- a/smash/web/models.py +++ b/smash/web/models.py @@ -27,26 +27,52 @@ class Subject(models.Model): ('M','Male'), ('F','Female'), ) - sex = models.CharField(max_length=1, + sex = models.CharField(max_length=1, choices=SEX_CHOICES, verbose_name='Sex' ) firstName = models.CharField(max_length=50, verbose_name='First name' ) - lastName = models.CharField(max_length=50) - languages = models.ManyToManyField(Language) - 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) - country = 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) + lastName = models.CharField(max_length=50, + verbose_name='Last name' + ) + languages = models.ManyToManyField(Language, + verbose_name='Known languages' + ) + phoneNo = models.CharField(max_length=20, + verbose_name='Phone number' + ) + email = models.EmailField( + verbose_name='E-mail' + ) + born = models.DateField( + verbose_name='Date born' + ) + address = models.CharField(max_length=255, + verbose_name='Address' + ) + postalCode = models.CharField(max_length=6, + verbose_name='Postal code' + ) + city = models.CharField(max_length=50, + verbose_name='City' + ) + country = models.CharField(max_length=50, + verbose_name='Country' + ) + screeningNo = models.CharField(max_length=50, + verbose_name='Screening number' + ) + ndno = models.CharField(max_length=6, + verbose_name='ND number' + ) + visitNumber = models.IntegerField( + verbose_name='Number of visits' + ) + mpowerId = models.CharField(max_length=20, + verbose_name='MPower ID' + ) STATUS_CHOICES = ( ('INV', 'Invited'), ('OPT', 'Opted out'), @@ -54,56 +80,132 @@ class Subject(models.Model): ('TST', 'Test group'), ('DEA', 'Dead') ) - subjectStatus = models.CharField(max_length=3, choices=STATUS_CHOICES) - mainPseudonym = models.CharField(max_length=45) - comments = models.CharField(max_length=2000) + subjectStatus = models.CharField(max_length=3, choices=STATUS_CHOICES, + verbose_name='Status' + ) + mainPseudonym = models.CharField(max_length=45, + verbose_name='Pseudonym' + ) + comments = models.CharField(max_length=2000, + verbose_name='Comments' + ) def __str__(self): return "%s %s" % (self.firstName, self.lastName) 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() + subject = models.ForeignKey(Subject, on_delete=models.CASCADE, + verbose_name='Subject' + ) + visitBegin = models.DateTimeField( + verbose_name='Visit starts at' + ) + visitEnd = models.DateTimeField( + verbose_name='Visit ends at' + ) + assesmentNo = models.IntegerField( + verbose_name='Which assesment' + ) + visitType = models.IntegerField( + verbose_name='Type of visit' + ) + visitFinished = models.BooleanField( + verbose_name='Has ended' + ) + + def __str__(self): + return "%s %s %d" % (self.subject.firstName, self.subject.lastName, self.assesmentNo) class Item (models.Model): - isFixed = models.BooleanField - name = models.CharField(max_length=255) + isFixed = models.BooleanField( + default=False, + verbose_name='Is the item fixed?' + ) + name = models.CharField(max_length=255, + verbose_name='Name' + ) + + def __str__(self): + return self.name + 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() + possEquipment = models.ManyToManyField(Item, + verbose_name='Posessed equipment' + ) + owner = models.CharField(max_length=50, + verbose_name='Owner' + ) + address = models.CharField(max_length=255, + verbose_name='Address' + ) + city = models.CharField(max_length=50, + verbose_name='City' + ) + roomNo = models.IntegerField( + verbose_name='Room number' + ) + floor = models.IntegerField( + verbose_name='Floor' + ) + isVehicle = models.BooleanField( + verbose_name='Is a vehicle?' + ) + def __str__(self): + return "%d %s %s" % (self.roomNo, self.address, self.city) 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() + reqEquipment = models.ManyToManyField(Item, + verbose_name='Required equipment' + ) + followUp = models.ForeignKey('self', + verbose_name='Follow-up visit' + ) + apCode = models.CharField(max_length=20, + verbose_name='Appointment code' + ) + apDescription = models.CharField(max_length=2000, + verbose_name='Appointment description' + ) + apDefaultTime = models.IntegerField( + verbose_name='Default time' + ) + apRestTime = models.IntegerField( + verbose_name='Suggested rest time' + ) + def __str__(self): + return self.apCode class Worker (models.Model): - languages = models.ManyToManyField(Language) - appointments = models.ManyToManyField('Appointment', blank=True) - user = models.OneToOneField(User, blank=True, null=True) - firstName = models.CharField(max_length=50) - lastName = models.CharField(max_length=50) - phoneNo = models.CharField(max_length=20) - unit = models.CharField(max_length=50) - email = models.EmailField() + languages = models.ManyToManyField(Language, + verbose_name='Known languages' + ) + appointments = models.ManyToManyField('Appointment', blank=True, + verbose_name='Appointments' + ) + user = models.OneToOneField(User, blank=True, null=True, + verbose_name='Username' + ) + firstName = models.CharField(max_length=50, + verbose_name='First name' + ) + lastName = models.CharField(max_length=50, + verbose_name='Last name' + ) + phoneNo = models.CharField(max_length=20, + verbose_name='Phone number' + ) + unit = models.CharField(max_length=50, + verbose_name='Unit' + ) + email = models.EmailField( + verbose_name='E-mail' + ) ROLE_CHOICES = ( ('DOCTOR', 'Doctor'), ('NURSE', 'Nurse'), @@ -111,8 +213,12 @@ class Worker (models.Model): ('TECHNICIAN', 'Technician'), ('SECRETARY', 'Secretary') ) - role = models.CharField(max_length=20, choices=ROLE_CHOICES) - specialization = models.CharField(max_length=20) + role = models.CharField(max_length=20, choices=ROLE_CHOICES, + verbose_name='Role' + ) + specialization = models.CharField(max_length=20, + verbose_name='Specialization' + ) def isOnLeave(self): if len(self.holiday_set.filter(holidayEnd__gt=datetime.datetime.now(), @@ -135,33 +241,78 @@ class Worker (models.Model): 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() + doctor = models.ForeignKey(Worker, related_name='FlyingTeamDoctor', + verbose_name='Doctor' + ) + nurse = models.ForeignKey(Worker, related_name='FlyingTeamNurse', + verbose_name='Nurse' + ) + psychologist = models.ForeignKey(Worker, related_name='FlyingTeamPsychologist', + verbose_name='Psychologist' + ) + dateTimeCalled = models.DateTimeField( + verbose_name='Created on' + ) + dateTimeUntil = models.DateTimeField( + verbose_name='Disbanded on' + ) + def __str__(self): + return "%s %s %s" % (self.doctor.lastName, self.nurse.lastName, self.psychologist.lastName) class Avaibility(models.Model): - person = models.ForeignKey(Worker, on_delete=models.CASCADE) - dayNo = models.IntegerField() - availFro = models.TimeField() - availTil = models.TimeField() - current = models.BooleanField() + person = models.ForeignKey(Worker, on_delete=models.CASCADE, + verbose_name='Worker' + ) + dayNo = models.IntegerField( + verbose_name='Day of the week' + ) + availFro = models.TimeField( + verbose_name='Avaible since' + ) + availTil = models.TimeField( + verbose_name='Avaible until' + ) + current = models.BooleanField( + verbose_name='Is current?' + ) + def __str__(self): + return "%d %s %s" % (self.dayNo, self.person.lastName, self.person.firstName) class Holiday(models.Model): - person = models.ForeignKey(Worker, on_delete=models.CASCADE) - holidayStart = models.DateTimeField() - holidayEnd = models.DateTimeField() + person = models.ForeignKey(Worker, on_delete=models.CASCADE, + verbose_name='Worker' + ) + holidayStart = models.DateTimeField( + verbose_name='On leave since' + ) + holidayEnd = models.DateTimeField( + verbose_name='On leave until' + ) + def __str__(self): + return "%s %s" % (self.person.firstName, self.person.lastName) 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() - + flyingTeam = models.ForeignKey(FlyingTeam, + verbose_name='Flying team (if applicable)' + ) + appType = models.ForeignKey(AppType, + verbose_name='Appointment type' + ) + room = models.ForeignKey(Room, + verbose_name='Room ID' + ) + visit = models.ForeignKey(Visit, + verbose_name='Visit ID' + ) + appDateTime = models.DateTimeField( + verbose_name='Appointment on' + ) + appLength = models.IntegerField( + verbose_name='Appointment length' + ) + appFinished = models.BooleanField( + verbose_name='Has the appointment ended?' + ) -- GitLab