redesign proto
This commit is contained in:
@@ -3,7 +3,7 @@ from phonenumber_field.modelfields import PhoneNumberField
|
||||
import datetime
|
||||
from django.utils import timezone
|
||||
|
||||
|
||||
|
||||
# Create your models here.
|
||||
class UsefulLinks(models.Model):
|
||||
name = models.CharField(max_length=256)
|
||||
@@ -22,7 +22,10 @@ class Membership(models.Model):
|
||||
return self.addressmodel1.address_1
|
||||
|
||||
def get_person_1(self):
|
||||
emails = [item.email for item in MembershipPerson.objects.filter(membership_id=self.id)]
|
||||
emails = [
|
||||
item.email
|
||||
for item in MembershipPerson.objects.filter(membership_id=self.id)
|
||||
]
|
||||
# remove all the Nones
|
||||
filtered_emails = [i for i in emails if i is not None]
|
||||
if len(filtered_emails) == 0:
|
||||
@@ -33,14 +36,14 @@ class Membership(models.Model):
|
||||
def __str__(self):
|
||||
return self.get_address_str() + " | " + self.get_person_1()
|
||||
|
||||
|
||||
class AddressModel1(models.Model):
|
||||
membership = models.OneToOneField(Membership, on_delete=models.CASCADE)
|
||||
address_1 = models.CharField(max_length=128)
|
||||
address_2 = models.CharField(max_length=128, blank=True)
|
||||
city = models.CharField(max_length=128)
|
||||
state = models.CharField(max_length=2)
|
||||
zip_code = models.CharField(max_length=5)
|
||||
|
||||
zip_code = models.CharField(max_length=5)
|
||||
|
||||
|
||||
class CalendarEvent(models.Model):
|
||||
@@ -51,38 +54,45 @@ class CalendarEvent(models.Model):
|
||||
coordinator_email = models.EmailField(max_length=256, blank=True, null=True)
|
||||
event_link_name = models.CharField(max_length=64, blank=True, null=True)
|
||||
event_url = models.URLField(max_length=256, blank=True, null=True)
|
||||
description= models.CharField(max_length=1024, default="")
|
||||
|
||||
def has_date(self):
|
||||
return not self.start_date is None
|
||||
|
||||
|
||||
def past_event(self):
|
||||
if self.has_date():
|
||||
return self.start_date <= datetime.datetime.now().date()
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def future_event(self):
|
||||
if self.has_date():
|
||||
return self.start_date > datetime.datetime.now().date()
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def no_date(self):
|
||||
return not self.has_date()
|
||||
|
||||
|
||||
class CalendarEventAddressModel(models.Model):
|
||||
calendar_event = models.OneToOneField(CalendarEvent, on_delete=models.CASCADE)
|
||||
address_1 = models.CharField(max_length=128)
|
||||
address_2 = models.CharField(max_length=128, blank=True)
|
||||
city = models.CharField(max_length=128)
|
||||
state = models.CharField(max_length=2)
|
||||
zip_code = models.CharField(max_length=5)
|
||||
zip_code = models.CharField(max_length=5)
|
||||
|
||||
def __str__(self):
|
||||
return (
|
||||
self.address_1 + ", " + self.city + ", " + self.state + " " + self.zip_code
|
||||
)
|
||||
|
||||
|
||||
def __str__ (self):
|
||||
return self.address_1 + ", " + self.city + ", " + self.state + " " + self.zip_code
|
||||
|
||||
class MembershipPerson(models.Model):
|
||||
membership = models.ForeignKey(Membership, on_delete=models.CASCADE, blank=True, null=True)
|
||||
membership = models.ForeignKey(
|
||||
Membership, on_delete=models.CASCADE, blank=True, null=True
|
||||
)
|
||||
first_name = models.CharField(max_length=256, blank=True, null=True)
|
||||
last_name = models.CharField(max_length=256, blank=True, null=True)
|
||||
phone_number = PhoneNumberField(blank=False, null=True)
|
||||
@@ -92,8 +102,6 @@ class MembershipPerson(models.Model):
|
||||
return self.email if self.email else "No email"
|
||||
|
||||
|
||||
|
||||
|
||||
class MembershipCommittee(models.Model):
|
||||
membership = models.OneToOneField(Membership, on_delete=models.CASCADE)
|
||||
block_captain = models.BooleanField(default=False, blank=True, null=True)
|
||||
@@ -110,6 +118,7 @@ class MembershipCommittee(models.Model):
|
||||
phone_directory = models.BooleanField(default=False, blank=True, null=True)
|
||||
no_preference = models.BooleanField(default=False, blank=True, null=True)
|
||||
|
||||
|
||||
class MembershipServices(models.Model):
|
||||
membership = models.OneToOneField(Membership, on_delete=models.CASCADE)
|
||||
babysitting = models.BooleanField(default=False, blank=True, null=True)
|
||||
@@ -121,8 +130,36 @@ class MembershipServices(models.Model):
|
||||
other = models.BooleanField(default=False, blank=True, null=True)
|
||||
other_desc = models.CharField(default="", blank=True, null=True, max_length=256)
|
||||
|
||||
|
||||
class Payments(models.Model):
|
||||
date = models.DateField(default=timezone.now())
|
||||
status = models.CharField(default='Completed', max_length=256)
|
||||
status = models.CharField(default="Completed", max_length=256)
|
||||
email = models.EmailField(blank=True, null=True)
|
||||
person = models.ForeignKey(MembershipPerson, on_delete=models.CASCADE, blank=True,null=True)
|
||||
person = models.ForeignKey(
|
||||
MembershipPerson, on_delete=models.CASCADE, blank=True, null=True
|
||||
)
|
||||
|
||||
|
||||
class SCHAOfficer(models.Model):
|
||||
name = models.CharField(max_length=255)
|
||||
position = models.CharField(max_length=255)
|
||||
email = models.EmailField(max_length=255)
|
||||
|
||||
# class CommunitySchools(models.Model):
|
||||
# name = models.CharField(max_length=255)
|
||||
# name_school_url = models.URLField(max_length=256)
|
||||
# rating_url = models.URLField(max_length=256)
|
||||
# rating = models.DecimalField(max_digits=5, decimal_places=2)
|
||||
# distance = models.DecimalField(max_digits=3, decimal_places=1)
|
||||
# principal = models.CharField(max_length=255)
|
||||
# grades = models.CharField(max_length=255)
|
||||
|
||||
# class CommunityShoppingAndDining(models.Model):
|
||||
# name = models.CharField(max_length=255)
|
||||
# distance = models.DecimalField(max_digits=3, decimal_places=1)
|
||||
# description = models.CharField(max_length=1024)
|
||||
|
||||
# class CommunityParks(models.Model):
|
||||
# name = models.CharField(max_length=255)
|
||||
# distance = models.DecimalField(max_digits=3, decimal_places=1)
|
||||
# description = models.CharField(max_length=1024)
|
||||
Reference in New Issue
Block a user