mirror of
https://github.com/makeplane/plane
synced 2025-08-07 19:59:33 +00:00
Compare commits
1 Commits
fix-cycle_
...
chore/user
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c321d2ef1 |
@@ -372,11 +372,11 @@ class UserNotificationPreferenceEndpoint(BaseAPIView):
|
||||
|
||||
# request the object
|
||||
def get(self, request):
|
||||
user_notification_preference = UserNotificationPreference.objects.get(
|
||||
user=request.user
|
||||
user_notification_preference = (
|
||||
UserNotificationPreference.objects.filter(user=request.user)
|
||||
)
|
||||
serializer = UserNotificationPreferenceSerializer(
|
||||
user_notification_preference
|
||||
user_notification_preference, many=True
|
||||
)
|
||||
return Response(serializer.data, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
# Generated by Django 4.2.15 on 2024-10-16 10:56
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
def create_in_app_user_notification_preference(apps, schema_editor):
|
||||
|
||||
UserNotificationPreferences = apps.get_model(
|
||||
"db", "UserNotificationPreference"
|
||||
)
|
||||
|
||||
UserNotificationPreferences.objects.bulk_create(
|
||||
[
|
||||
UserNotificationPreferences(
|
||||
user_id=user_notification_preference,
|
||||
type="IN_APP",
|
||||
property_change=True,
|
||||
state_change=True,
|
||||
comment=True,
|
||||
mention=True,
|
||||
issue_completed=True,
|
||||
priority_change=True,
|
||||
assignee_change=True,
|
||||
start_target_date_change=True,
|
||||
module_change=True,
|
||||
cycle_change=True,
|
||||
reactions=True,
|
||||
)
|
||||
for user_notification_preference in UserNotificationPreferences.objects.values_list(
|
||||
"user_id", flat=True
|
||||
)
|
||||
],
|
||||
batch_size=2000,
|
||||
)
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("db", "0081_remove_globalview_created_by_and_more"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="deployboard",
|
||||
name="is_disabled",
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="usernotificationpreference",
|
||||
name="assignee_change",
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="usernotificationpreference",
|
||||
name="cycle_change",
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="usernotificationpreference",
|
||||
name="module_change",
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="usernotificationpreference",
|
||||
name="priority_change",
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="usernotificationpreference",
|
||||
name="reactions",
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="usernotificationpreference",
|
||||
name="start_target_date_change",
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="usernotificationpreference",
|
||||
name="type",
|
||||
field=models.CharField(
|
||||
choices=[("EMAIL", "Email"), ("IN_APP", "In App")],
|
||||
default="EMAIL",
|
||||
max_length=30,
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="deployboard",
|
||||
name="entity_name",
|
||||
field=models.CharField(
|
||||
choices=[
|
||||
("project", "Project"),
|
||||
("issue", "Issue"),
|
||||
("module", "Module"),
|
||||
("cycle", "Task"),
|
||||
("page", "Page"),
|
||||
("view", "View"),
|
||||
("inbox", "Inbox"),
|
||||
],
|
||||
max_length=30,
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="usernotificationpreference",
|
||||
name="comment",
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="usernotificationpreference",
|
||||
name="issue_completed",
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="usernotificationpreference",
|
||||
name="mention",
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="usernotificationpreference",
|
||||
name="property_change",
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="usernotificationpreference",
|
||||
name="state_change",
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.RunPython(create_in_app_user_notification_preference),
|
||||
]
|
||||
@@ -20,6 +20,7 @@ class DeployBoard(WorkspaceBaseModel):
|
||||
("cycle", "Task"),
|
||||
("page", "Page"),
|
||||
("view", "View"),
|
||||
("inbox", "Inbox"),
|
||||
)
|
||||
|
||||
entity_identifier = models.UUIDField(null=True)
|
||||
@@ -41,6 +42,7 @@ class DeployBoard(WorkspaceBaseModel):
|
||||
is_votes_enabled = models.BooleanField(default=False)
|
||||
view_props = models.JSONField(default=dict)
|
||||
is_activity_enabled = models.BooleanField(default=True)
|
||||
is_disabled = models.BooleanField(default=False)
|
||||
|
||||
def __str__(self):
|
||||
"""Return name of the deploy board"""
|
||||
|
||||
@@ -6,6 +6,10 @@ from django.db import models
|
||||
from .base import BaseModel
|
||||
|
||||
|
||||
class PreferenceTypeEnum(models.TextChoices):
|
||||
EMAIL = "EMAIL", "Email"
|
||||
IN_APP = "IN_APP", "In App"
|
||||
|
||||
|
||||
class Notification(BaseModel):
|
||||
workspace = models.ForeignKey(
|
||||
@@ -89,13 +93,24 @@ class UserNotificationPreference(BaseModel):
|
||||
related_name="project_notification_preferences",
|
||||
null=True,
|
||||
)
|
||||
type = models.CharField(
|
||||
max_length=30,
|
||||
choices=PreferenceTypeEnum.choices,
|
||||
default=PreferenceTypeEnum.EMAIL,
|
||||
)
|
||||
|
||||
# preference fields
|
||||
property_change = models.BooleanField(default=True)
|
||||
state_change = models.BooleanField(default=True)
|
||||
comment = models.BooleanField(default=True)
|
||||
mention = models.BooleanField(default=True)
|
||||
issue_completed = models.BooleanField(default=True)
|
||||
property_change = models.BooleanField(default=False)
|
||||
state_change = models.BooleanField(default=False)
|
||||
comment = models.BooleanField(default=False)
|
||||
mention = models.BooleanField(default=False)
|
||||
issue_completed = models.BooleanField(default=False)
|
||||
priority_change = models.BooleanField(default=False)
|
||||
assignee_change = models.BooleanField(default=False)
|
||||
start_target_date_change = models.BooleanField(default=False)
|
||||
module_change = models.BooleanField(default=False)
|
||||
cycle_change = models.BooleanField(default=False)
|
||||
reactions = models.BooleanField(default=False)
|
||||
|
||||
class Meta:
|
||||
verbose_name = "UserNotificationPreference"
|
||||
|
||||
@@ -252,9 +252,20 @@ def create_user_notification(sender, instance, created, **kwargs):
|
||||
|
||||
UserNotificationPreference.objects.create(
|
||||
user=instance,
|
||||
property_change=False,
|
||||
state_change=False,
|
||||
comment=False,
|
||||
mention=False,
|
||||
issue_completed=False,
|
||||
type="EMAIL",
|
||||
)
|
||||
UserNotificationPreference.objects.create(
|
||||
user=instance,
|
||||
type="IN_APP",
|
||||
property_change=True,
|
||||
state_change=True,
|
||||
comment=True,
|
||||
mention=True,
|
||||
issue_completed=True,
|
||||
priority_change=True,
|
||||
assignee_change=True,
|
||||
start_target_date_change=True,
|
||||
module_change=True,
|
||||
cycle_change=True,
|
||||
reactions=True,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user