mirror of
https://github.com/zulip/zulip.git
synced 2025-11-07 15:33:30 +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):
|
class Meta(object):
|
||||||
unique_together = ("realm", "stream")
|
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):
|
class AbstractScheduledJob(models.Model):
|
||||||
scheduled_timestamp = models.DateTimeField(db_index=True) # type: datetime.datetime
|
scheduled_timestamp = models.DateTimeField(db_index=True) # type: datetime.datetime
|
||||||
# JSON representation of arguments to consumer
|
# JSON representation of arguments to consumer
|
||||||
|
|||||||
Reference in New Issue
Block a user