Adding Family Model
This commit is contained in:
+70
-16
@@ -294,26 +294,80 @@ class Traveller(models.Model):
|
||||
stops = 1
|
||||
return f"${str(cost * stops)}"
|
||||
|
||||
def send_sms(self, message, parents=False, emergency=False):
|
||||
numbers = []
|
||||
if parents and self.parent_A_phone:
|
||||
numbers.append(self.parent_A_phone)
|
||||
if parents and self.parent_B_phone:
|
||||
numbers.append(self.parent_B_phone)
|
||||
if emergency and self.emergency_contact_A_phone:
|
||||
numbers.append(self.emergency_contact_A_phone)
|
||||
if emergency and self.emergency_contact_B_phone:
|
||||
numbers.append(self.emergency_contact_B_phone)
|
||||
|
||||
count = 0
|
||||
def get_parsed_numbers(self, parents=False, emergency=False):
|
||||
return [] # Moved to family model. To remove from traveller model
|
||||
|
||||
|
||||
class Family(models.Model):
|
||||
RELATIONS = [
|
||||
("1", "Parent"),
|
||||
("2", "Step-Parent"),
|
||||
("3", "Foster Parent"),
|
||||
("4", "Host Family"),
|
||||
("5", "Sibling"),
|
||||
("6", "Grandparent"),
|
||||
("7", "Aunt/Uncle"),
|
||||
("8", "Cousin"),
|
||||
("9", "Carer"),
|
||||
("10", "Case Worker"),
|
||||
("11", "Friend/Other"),
|
||||
]
|
||||
|
||||
traveller = models.ForeignKey(Traveller, on_delete=models.CASCADE)
|
||||
residential_address = models.CharField(max_length=50, blank=True)
|
||||
residential_suburb = models.ForeignKey(Suburb, on_delete=models.PROTECT, blank=True, null=True,
|
||||
related_name='family_residential_suburb')
|
||||
postal_address = models.CharField(max_length=50, blank=True)
|
||||
postal_suburb = models.ForeignKey(Suburb, on_delete=models.PROTECT, blank=True, null=True,
|
||||
related_name='family_postal_suburb')
|
||||
parent_A_firstname = models.CharField(max_length=50, blank=True)
|
||||
parent_A_lastname = models.CharField(max_length=50, blank=True)
|
||||
parent_A_phone = models.CharField(max_length=15, blank=True)
|
||||
parent_A_email = models.CharField(max_length=50, blank=True)
|
||||
parent_B_firstname = models.CharField(max_length=50, blank=True)
|
||||
parent_B_lastname = models.CharField(max_length=50, blank=True)
|
||||
parent_B_phone = models.CharField(max_length=15, blank=True)
|
||||
parent_B_email = models.CharField(max_length=50, blank=True)
|
||||
emergency_contact_A_firstname = models.CharField(max_length=50, blank=True)
|
||||
emergency_contact_A_lastname = models.CharField(max_length=50, blank=True)
|
||||
emergency_contact_A_phone = models.CharField(max_length=15, blank=True)
|
||||
emergency_contact_A_relation = models.CharField(max_length=50, choices=RELATIONS, blank=True)
|
||||
emergency_contact_B_firstname = models.CharField(max_length=50, blank=True)
|
||||
emergency_contact_B_lastname = models.CharField(max_length=50, blank=True)
|
||||
emergency_contact_B_phone = models.CharField(max_length=15, blank=True)
|
||||
emergency_contact_B_relation = models.CharField(max_length=50, choices=RELATIONS, blank=True)
|
||||
|
||||
def parent_names(self):
|
||||
a_name = self.parent_A_firstname
|
||||
b_name = self.parent_B_firstname
|
||||
if a_name:
|
||||
if b_name:
|
||||
return f"{a_name} and {b_name}"
|
||||
return a_name
|
||||
elif b_name:
|
||||
return b_name
|
||||
return None
|
||||
|
||||
def get_parsed_numbers(self, parents=False, emergency=False):
|
||||
numbers = []
|
||||
if parents:
|
||||
if self.parent_A_phone:
|
||||
numbers.append(self.parent_A_phone)
|
||||
if self.parent_B_phone:
|
||||
numbers.append(self.parent_B_phone)
|
||||
if emergency:
|
||||
if self.emergency_contact_A_phone:
|
||||
numbers.append(self.emergency_contact_A_phone)
|
||||
if self.emergency_contact_B_phone:
|
||||
numbers.append(self.emergency_contact_B_phone)
|
||||
|
||||
valid_numbers = []
|
||||
for number in numbers:
|
||||
num = phonenumbers.parse(number, "AU")
|
||||
if phonenumbers.is_valid_number(num):
|
||||
count += 1
|
||||
# num = f"+{num.country_code}{num.national_number}"
|
||||
# client = Client(settings.TWILIO['ACCOUNT_SID'], settings.TWILIO['AUTH_TOKEN'])
|
||||
# client.messages.create(num, from_=settings.TWILIO['SENDER'], body=message)
|
||||
return count
|
||||
valid_numbers.append(num.national_number)
|
||||
return valid_numbers
|
||||
|
||||
|
||||
class TravellerRoute(models.Model):
|
||||
|
||||
Reference in New Issue
Block a user