| 
									
										
										
										
											2016-04-10 16:12:43 -05:00
										 |  |  | from django.db import models | 
					
						
							| 
									
										
										
										
											2016-10-13 23:33:48 -05:00
										 |  |  | from django.core import serializers | 
					
						
							|  |  |  | from django.forms.models import model_to_dict | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from membership.models import CustomUser | 
					
						
							| 
									
										
										
										
											2016-04-10 16:12:43 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-26 01:16:03 -05:00
										 |  |  | from .fields import CountryField | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-10 16:12:43 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-13 23:33:48 -05:00
										 |  |  | # Create your models here. | 
					
						
							| 
									
										
										
										
											2016-04-10 16:12:43 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-13 23:33:48 -05:00
										 |  |  | class BaseBillingAddress(models.Model): | 
					
						
							| 
									
										
										
										
											2016-04-26 01:16:03 -05:00
										 |  |  |     street_address = models.CharField(max_length=100) | 
					
						
							|  |  |  |     city = models.CharField(max_length=50) | 
					
						
							|  |  |  |     postal_code = models.CharField(max_length=50) | 
					
						
							|  |  |  |     country = CountryField() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-13 23:33:48 -05:00
										 |  |  |     class Meta: | 
					
						
							|  |  |  |         abstract = True | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class BillingAddress(BaseBillingAddress): | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-27 00:08:45 -05:00
										 |  |  |     def __str__(self): | 
					
						
							|  |  |  |         return self.street_address | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-26 01:16:03 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-13 23:33:48 -05:00
										 |  |  | class UserBillingAddress(BaseBillingAddress): | 
					
						
							|  |  |  |     user = models.ForeignKey(CustomUser, related_name='billing_addresses') | 
					
						
							|  |  |  |     current = models.BooleanField(default=True) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def __str__(self): | 
					
						
							|  |  |  |         return self.street_address | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def to_dict(self): | 
					
						
							|  |  |  |         return { | 
					
						
							|  |  |  |             'Street Address': self.street_address, | 
					
						
							|  |  |  |             'City': self.city, | 
					
						
							|  |  |  |             'Postal Code': self.postal_code, | 
					
						
							|  |  |  |             'Country': self.country, | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-10 16:12:43 -05:00
										 |  |  | class ContactMessage(models.Model): | 
					
						
							|  |  |  |     name = models.CharField(max_length=200) | 
					
						
							|  |  |  |     email = models.EmailField() | 
					
						
							|  |  |  |     phone_number = models.CharField(max_length=200) | 
					
						
							|  |  |  |     message = models.TextField() | 
					
						
							|  |  |  |     received_date = models.DateTimeField(auto_now_add=True) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def __str__(self): | 
					
						
							| 
									
										
										
										
											2016-04-26 01:16:03 -05:00
										 |  |  |         return "%s - %s - %s" % (self.name, self.email, self.received_date) |