mirror of https://github.com/jumpserver/jumpserver
				
				
				
			
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
# Generated by Django 3.1.12 on 2021-09-09 11:46
 | 
						|
 | 
						|
from django.conf import settings
 | 
						|
from django.db import migrations, models
 | 
						|
import django.db.models.deletion
 | 
						|
 | 
						|
 | 
						|
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  Init 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=django.db.models.deletion.CASCADE, related_name='user_msg_subscription', to=settings.AUTH_USER_MODEL),
 | 
						|
        ),
 | 
						|
        migrations.RunPython(init_user_msg_subscription)
 | 
						|
    ]
 |