Changeset View
Changeset View
Standalone View
Standalone View
subscriptions/models.py
| from django.contrib.auth import get_user_model | from django.contrib.auth import get_user_model | ||||
| from django.db import models | from django.db import models | ||||
| import looper.models | import looper.models | ||||
| from common import mixins | from common import mixins | ||||
| User = get_user_model() | User = get_user_model() | ||||
| class Subscriber(mixins.CreatedUpdatedMixin, models.Model): | class Subscriber(mixins.CreatedUpdatedMixin, models.Model): | ||||
| # TODO(anna): set to SET_NULL to make sure all looper data remains intact when user is deleted | |||||
| user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='subscriber') | user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='subscriber') | ||||
| customer = models.OneToOneField( | customer = models.OneToOneField( | ||||
| looper.models.Customer, on_delete=models.CASCADE, related_name='subscriber' | looper.models.Customer, on_delete=models.CASCADE, related_name='subscriber' | ||||
| ) | ) | ||||
| class Organization(mixins.CreatedUpdatedMixin, models.Model): | class Organization(mixins.CreatedUpdatedMixin, models.Model): | ||||
| name = models.CharField(max_length=256) | name = models.CharField(max_length=256) | ||||
| users = models.ManyToManyField(User, through='OrganizationUsers', related_name='organizations') | users = models.ManyToManyField(User, through='OrganizationUsers', related_name='organizations') | ||||
| customer = models.OneToOneField( | customer = models.OneToOneField( | ||||
| looper.models.Customer, | looper.models.Customer, | ||||
| on_delete=models.SET_NULL, | on_delete=models.SET_NULL, | ||||
| blank=True, | blank=True, | ||||
| null=True, | null=True, | ||||
| related_name='organization', | related_name='organization', | ||||
| ) | ) | ||||
| class OrganizationUsers(mixins.CreatedUpdatedMixin, models.Model): | class OrganizationUsers(mixins.CreatedUpdatedMixin, models.Model): | ||||
| class Meta: | class Meta: | ||||
| verbose_name = 'Organization Users' | verbose_name = 'Organization Users' | ||||
| verbose_name_plural = 'Organization Users' | verbose_name_plural = 'Organization Users' | ||||
| # TODO(anna): set to SET_NULL to make sure all looper data remains intact when user is deleted | |||||
| user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='organization_users') | user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='organization_users') | ||||
| organization = models.ForeignKey( | organization = models.ForeignKey( | ||||
| Organization, on_delete=models.CASCADE, related_name='organization_users' | Organization, on_delete=models.CASCADE, related_name='organization_users' | ||||
| ) | ) | ||||
| can_change_organization = models.BooleanField(default=False) | can_change_organization = models.BooleanField(default=False) | ||||
| Show All 10 Lines | |||||