ФУНКЦИИ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: self-service workspace invite approval
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Generated by NODE.DC platform integration.
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
("db", "0138_external_identity_link_unique_user"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="workspacememberinvite",
|
||||
name="nodedc_approval_status",
|
||||
field=models.CharField(
|
||||
choices=[
|
||||
("not_required", "Not required"),
|
||||
("pending", "Pending NODE.DC approval"),
|
||||
("approved", "Approved by NODE.DC"),
|
||||
("rejected", "Rejected by NODE.DC"),
|
||||
],
|
||||
default="not_required",
|
||||
max_length=32,
|
||||
),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="workspacememberinvite",
|
||||
name="nodedc_approval_request_id",
|
||||
field=models.CharField(blank=True, max_length=255, null=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="workspacememberinvite",
|
||||
name="nodedc_approval_decided_at",
|
||||
field=models.DateTimeField(blank=True, null=True),
|
||||
),
|
||||
]
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("db", "0139_workspacememberinvite_nodedc_approval"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="workspacememberinvite",
|
||||
name="nodedc_platform_invite_link",
|
||||
field=models.URLField(blank=True, max_length=1000, null=True),
|
||||
),
|
||||
]
|
||||
@@ -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