class AustralianPlace(models.Model): state = AUStateField(blank=True) state_required = AUStateField() state_default = AUStateField(default="NSW", blank=True) postcode = AUPostCodeField(blank=True) postcode_required = AUPostCodeField() postcode_default = AUPostCodeField(default="2500", blank=True) phone = AUPhoneNumberField(blank=True) name = models.CharField(max_length=20)
class AustralianPlace(models.Model): state = AUStateField(blank=True) state_required = AUStateField() state_default = AUStateField(default="NSW", blank=True) postcode = AUPostCodeField(blank=True) postcode_required = AUPostCodeField() postcode_default = AUPostCodeField(default="2500", blank=True) name = models.CharField(max_length=20) abn = AUBusinessNumberField() acn = AUCompanyNumberField() tfn = AUTaxFileNumberField()
class EnlingoPackageCustomer(models.Model): class Meta: verbose_name = _("Enlingo Package Customer") verbose_name_plural = _("Enlingo Package Customers") def __str__(self): return str(self.customername) customername = models.CharField("Customer Name",max_length=50, null=True) customerlogo = models.ImageField(upload_to='customerlogo/', null=True) website = models.CharField("Web Site", max_length=50, null=True) education_institute = models.ManyToManyField(EducationInstitute, blank=True) phone = models.CharField(_("phone"), max_length=15, null=True) address_1 = models.CharField(_("address"), max_length=50, null=True) address_2 = models.CharField(_("address cont'd"), max_length=50, null=True) city = models.CharField(_("city"), max_length=50, null=True) state = AUStateField(_("state"), null=True) postcode = AUPostCodeField(_("postcode"), null=True) packadmin = models.OneToOneField(Profile, on_delete=models.CASCADE) package = models.ForeignKey(EnlingoPackage, on_delete=models.CASCADE, null=True) autorecharge = models.BooleanField() schemeregister = models.BooleanField() creditbalance = models.IntegerField(null=True) rechargeindicator = models.IntegerField(null=True) credits = models.IntegerField(null=True) debits = models.IntegerField(null=True) def recharge_needed(self): return self.rechargeindicator >= self.balance
class Profile(models.Model): def __str__(self): return str(self.user.username) #Gender Items Attributes for "Sex" gender field MALE = 'M' FEMALE = 'F' NEUTER = 'N' SEX_CHOICES = ((MALE, 'Male'), (FEMALE, 'Female'), (NEUTER, 'Neuter')) #Salutation MR = "Mr" MISS = "Miss" MS = "Ms" DR = "Dr" SALUTATION_CHOICES = ((MR, 'Mr'), (MISS, 'Miss'), (MS, 'Ms'), (DR, "Dr")) #Role for user admin to see STUDENT = "S" CONSULTANT = "C" CONSULTANT_ASSISTANT = "CA" ROLE_CHOICES = ((STUDENT, 'Student'), (CONSULTANT, 'Consultant'), (CONSULTANT_ASSISTANT, 'Consultant Assistant')) # This field is required user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) #Essential Info for Consultant salutation = models.CharField(max_length=4, choices=SALUTATION_CHOICES, null=True) dateofbirth = models.DateField(null=True) sex = models.CharField(max_length=1, choices=SEX_CHOICES, null=True) phone = models.CharField(_("phone"), max_length=15, null=True) address_1 = models.CharField(_("address"), max_length=50, null=True) address_2 = models.CharField(_("address cont'd"), max_length=50, null=True) city = models.CharField(_("city"), max_length=50, null=True) state = AUStateField(_("state"), null=True) postcode = AUPostCodeField(_("postcode"), null=True) profile_image = models.ImageField(upload_to='profile/') urole = models.CharField(_("User Role"), max_length=20, choices=ROLE_CHOICES, null=True) #django_role_permissions related field
class UserType(User): phone_number = AUPhoneNumberField(blank=False, null=True) address = models.CharField(max_length=256, blank=False, null=True) suburb = models.CharField(max_length=64, blank=False, null=True) postcode = AUPostCodeField(max_length=8, blank=False, null=True) availabilities = models.CharField(max_length=128, blank=False, null=True) b_office = models.BooleanField() b_carer = models.BooleanField() b_branch_c = models.BooleanField() office = models.OneToOneField('OfficeVolunteer', null=True, on_delete=models.CASCADE) carer = models.OneToOneField('Carer', null=True, on_delete=models.CASCADE) branch_c = models.OneToOneField('BranchCoordinator', null=True, on_delete=models.CASCADE) def __str__(self): return self.username
class Animal(models.Model): SPECIES_CHOICES = (('RTP', 'Ringtail Possum'), ('RLK', 'Rainbow Lorrikeet'), ('TFM', 'Tawny Frogmouth'), ('BTP', 'Brushtail Possum'), ('GFF', 'Grey-headded Flying Fox')) species = models.CharField(max_length=3, choices=SPECIES_CHOICES, blank=False) GENDER_CHOICES = ( ('M', 'Male'), ('F', 'Female'), ) gender = models.CharField(max_length=1, choices=GENDER_CHOICES, blank=True) caller_name = models.CharField(max_length=64, blank=False, null=True) caller_number = AUPhoneNumberField(blank=False, null=True) caller_address = models.CharField(max_length=128, blank=False, null=True) suburb = models.CharField(max_length=64, blank=False, null=True) postcode = AUPostCodeField(max_length=8, blank=True) encounter_location = models.CharField(max_length=128, blank=True) encounter_date = models.DateField(blank=False, null=True) injury_description = models.CharField(max_length=256, blank=True) INJURY_CHOICES = ( (0, 'Concussion/Stunned'), (1, 'Deformity'), (2, 'Feather Problem'), (3, 'Skin Problem'), (4, 'Gastric/Digestive'), (5, 'Body Injury'), (6, 'Eye Injury'), (7, 'Fore Limb/Wing Injury'), (8, 'Rear Limb/Injury'), (9, 'Head Injury'), (10, 'Neck Injury'), (11, 'Tail Injury'), (12, 'Nothing Apparent'), (13, 'Covered in Oil,ETC'), (14, 'Separated from Parents'), (15, 'Undernourished/Exhausted'), ) injury = models.IntegerField(null=True, blank=True, default=None, choices=INJURY_CHOICES) CAUSE_CHOICES = ( (0, 'Cat Attack'), (1, 'Dog Attack'), (2, 'Other Animal Attack'), (3, 'Collision(e.g.Window)'), (4, 'Motor Vehicle'), (5, 'Domestic Escape/Release'), (6, 'Runner Disease'), (7, 'Other Disease'), (8, 'Electrocution'), (9, 'Entangled'), (10, 'Fire'), (11, 'Fallen'), (12, 'Geriatric'), (13, 'Human Interference'), (14, 'Habitat Lost'), (15, 'Oil/Chemical/Poison'), (16, 'Unsuitable Environment'), (17, 'Weather(Beach Washed,ETC)'), (18, 'Unknown'), ) cause_of_injury = models.IntegerField(null=True, blank=True, default=None, choices=CAUSE_CHOICES) STATUS_CHOICES = ( (0, 'Humanely euthanased'), (1, 'In Care'), (2, 'Relocated'), (3, 'No action'), ) status = models.IntegerField(null=True, blank=True, default=None, choices=STATUS_CHOICES) status_detail = models.CharField(max_length=256, blank=True) status_date = models.DateField(blank=True, null=True) carer = models.ForeignKey('Carer', on_delete=models.SET_NULL, null=True, blank=True) # TODO prev_carers = models.ManyToManyField('Carer', blank=True) SORRY NO PREVIOUS CARERS FOR NOW branch_coordinator = models.ForeignKey('BranchCoordinator', on_delete=models.SET_NULL, null=True, blank=True) office_volunteer = models.ForeignKey('OfficeVolunteer', on_delete=models.SET_NULL, null=True, blank=True) picture = models.ImageField(upload_to='animal_pictures', null=True, blank=True) weight = models.FloatField(max_length=10, blank=True, null=True) AGE_CHOICES = ((0, 'Baby'), (1, 'Juvenile'), (2, 'Adult')) age = models.IntegerField(null=True, blank=True, default=None, choices=AGE_CHOICES) assessed = models.BooleanField(default=False) picked_up = models.BooleanField(default=False)