mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	models: Create DefaultStreamGroup.
This commit is contained in:
		
							
								
								
									
										29
									
								
								zerver/migrations/0113_default_stream_group.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								zerver/migrations/0113_default_stream_group.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
# Generated by Django 1.11.5 on 2017-10-14 15:12
 | 
			
		||||
from __future__ import unicode_literals
 | 
			
		||||
 | 
			
		||||
from django.db import migrations, models
 | 
			
		||||
import django.db.models.deletion
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Migration(migrations.Migration):
 | 
			
		||||
 | 
			
		||||
    dependencies = [
 | 
			
		||||
        ('zerver', '0112_index_muted_topics'),
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    operations = [
 | 
			
		||||
        migrations.CreateModel(
 | 
			
		||||
            name='DefaultStreamGroup',
 | 
			
		||||
            fields=[
 | 
			
		||||
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
 | 
			
		||||
                ('name', models.CharField(db_index=True, max_length=60)),
 | 
			
		||||
                ('realm', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='zerver.Realm')),
 | 
			
		||||
                ('streams', models.ManyToManyField(to='zerver.Stream')),
 | 
			
		||||
            ],
 | 
			
		||||
        ),
 | 
			
		||||
        migrations.AlterUniqueTogether(
 | 
			
		||||
            name='defaultstreamgroup',
 | 
			
		||||
            unique_together=set([('realm', 'name')]),
 | 
			
		||||
        ),
 | 
			
		||||
    ]
 | 
			
		||||
@@ -1743,6 +1743,23 @@ class DefaultStream(models.Model):
 | 
			
		||||
    class Meta(object):
 | 
			
		||||
        unique_together = ("realm", "stream")
 | 
			
		||||
 | 
			
		||||
class DefaultStreamGroup(models.Model):
 | 
			
		||||
    MAX_NAME_LENGTH = 60
 | 
			
		||||
    name = models.CharField(max_length=MAX_NAME_LENGTH, db_index=True)  # type: Text
 | 
			
		||||
    realm = models.ForeignKey(Realm, on_delete=CASCADE)  # type: Realm
 | 
			
		||||
    streams = models.ManyToManyField('Stream')  # type: Manager
 | 
			
		||||
 | 
			
		||||
    class Meta(object):
 | 
			
		||||
        unique_together = ("realm", "name")
 | 
			
		||||
 | 
			
		||||
    def to_dict(self):
 | 
			
		||||
        # type: () -> Dict[str, Any]
 | 
			
		||||
        return dict(name=self.name, streams=[stream.to_dict() for stream in self.streams.all()])
 | 
			
		||||
 | 
			
		||||
def get_default_stream_groups(realm):
 | 
			
		||||
    # type: (Realm) -> List[DefaultStreamGroup]
 | 
			
		||||
    return DefaultStreamGroup.objects.filter(realm=realm)
 | 
			
		||||
 | 
			
		||||
class AbstractScheduledJob(models.Model):
 | 
			
		||||
    scheduled_timestamp = models.DateTimeField(db_index=True)  # type: datetime.datetime
 | 
			
		||||
    # JSON representation of arguments to consumer
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user