ФУНКЦИИ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: self-service workspace invite approval
This commit is contained in:
@@ -238,6 +238,17 @@ class WorkspaceMember(BaseModel):
|
||||
|
||||
|
||||
class WorkspaceMemberInvite(BaseModel):
|
||||
NODEDC_APPROVAL_NOT_REQUIRED = "not_required"
|
||||
NODEDC_APPROVAL_PENDING = "pending"
|
||||
NODEDC_APPROVAL_APPROVED = "approved"
|
||||
NODEDC_APPROVAL_REJECTED = "rejected"
|
||||
NODEDC_APPROVAL_CHOICES = (
|
||||
(NODEDC_APPROVAL_NOT_REQUIRED, "Not required"),
|
||||
(NODEDC_APPROVAL_PENDING, "Pending NODE.DC approval"),
|
||||
(NODEDC_APPROVAL_APPROVED, "Approved by NODE.DC"),
|
||||
(NODEDC_APPROVAL_REJECTED, "Rejected by NODE.DC"),
|
||||
)
|
||||
|
||||
workspace = models.ForeignKey("db.Workspace", on_delete=models.CASCADE, related_name="workspace_member_invite")
|
||||
email = models.CharField(max_length=255)
|
||||
accepted = models.BooleanField(default=False)
|
||||
@@ -245,6 +256,14 @@ class WorkspaceMemberInvite(BaseModel):
|
||||
message = models.TextField(null=True)
|
||||
responded_at = models.DateTimeField(null=True)
|
||||
role = models.PositiveSmallIntegerField(choices=ROLE_CHOICES, default=5)
|
||||
nodedc_approval_status = models.CharField(
|
||||
max_length=32,
|
||||
choices=NODEDC_APPROVAL_CHOICES,
|
||||
default=NODEDC_APPROVAL_NOT_REQUIRED,
|
||||
)
|
||||
nodedc_approval_request_id = models.CharField(max_length=255, null=True, blank=True)
|
||||
nodedc_approval_decided_at = models.DateTimeField(null=True, blank=True)
|
||||
nodedc_platform_invite_link = models.URLField(max_length=1000, null=True, blank=True)
|
||||
|
||||
class Meta:
|
||||
unique_together = ["email", "workspace", "deleted_at"]
|
||||
|
||||
Reference in New Issue
Block a user