diff --git a/projects/models.py b/projects/models.py index 8d40c5b..88ed65d 100644 --- a/projects/models.py +++ b/projects/models.py @@ -1,12 +1,14 @@ from django.db import models from common.models.baseModels import BaseModel +from common.models.choiceModels import InvitationStatus from django.contrib.postgres.fields import ArrayField from django.conf import settings from users.models import User + class Project(BaseModel): title = models.CharField(max_length=20) is_team = models.BooleanField(default=False) @@ -24,5 +26,12 @@ class Project(BaseModel): scrappers = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name='scrapped_projects', blank=True) class ProjectTeamList(BaseModel): - project = models.ForeignKey(Project, on_delete=models.CASCADE, related_name='project_team_list', to_field='id') - user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='project_team_list',to_field='id') + project = models.ForeignKey(Project, on_delete=models.CASCADE, related_name='team_project_member_list', to_field='id') + user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='team_project_list',to_field='id') + + +class ProjectInvitation(BaseModel): + from_user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='sent_invitations') + to_user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='received_invitations') + project = models.ForeignKey(Project, on_delete=models.CASCADE) + status = models.CharField(max_length=10, choices=InvitationStatus.choices)