mirror of https://github.com/jumpserver/jumpserver
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.7 KiB
56 lines
1.7 KiB
# Generated by Django 3.1.12 on 2021-09-09 11:46
|
|
|
|
import common.db.models
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
|
|
|
|
def init_user_msg_subscription(apps, schema_editor):
|
|
UserMsgSubscription = apps.get_model('notifications', 'UserMsgSubscription')
|
|
User = apps.get_model('users', 'User')
|
|
|
|
to_create = []
|
|
users = User.objects.all()
|
|
for user in users:
|
|
receive_backends = []
|
|
|
|
receive_backends.append('site_msg')
|
|
|
|
if user.email:
|
|
receive_backends.append('email')
|
|
|
|
if user.wecom_id:
|
|
receive_backends.append('wecom')
|
|
|
|
if user.dingtalk_id:
|
|
receive_backends.append('dingtalk')
|
|
|
|
if user.feishu_id:
|
|
receive_backends.append('feishu')
|
|
|
|
to_create.append(UserMsgSubscription(user=user, receive_backends=receive_backends))
|
|
UserMsgSubscription.objects.bulk_create(to_create)
|
|
print(f'\n\tInit user message subscription: {len(to_create)}')
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
('notifications', '0001_initial'),
|
|
('users', '0036_user_feishu_id'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RemoveField(
|
|
model_name='usermsgsubscription',
|
|
name='message_type',
|
|
),
|
|
migrations.AlterField(
|
|
model_name='usermsgsubscription',
|
|
name='user',
|
|
field=models.OneToOneField(on_delete=common.db.models.CASCADE_SIGNAL_SKIP, related_name='user_msg_subscription', to=settings.AUTH_USER_MODEL, verbose_name='User'),
|
|
),
|
|
migrations.RunPython(init_user_msg_subscription)
|
|
]
|