0001_initial.py 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. from __future__ import unicode_literals
  2. import mptt.fields
  3. import django.db.models.deletion
  4. from django.conf import settings
  5. from django.contrib.postgres.fields import JSONField
  6. from django.db import migrations, models
  7. from misago.acl.models import permissions_default
  8. class Migration(migrations.Migration):
  9. initial = True
  10. dependencies = [
  11. ('misago_acl', '0001_initial'),
  12. migrations.swappable_dependency(settings.AUTH_USER_MODEL),
  13. ]
  14. operations = [
  15. migrations.CreateModel(
  16. name='Category',
  17. fields=[
  18. (
  19. 'id', models.AutoField(
  20. verbose_name='ID', serialize=False, auto_created=True, primary_key=True
  21. )
  22. ),
  23. ('special_role', models.CharField(max_length=255, null=True, blank=True)),
  24. ('name', models.CharField(max_length=255)),
  25. ('slug', models.CharField(max_length=255)),
  26. ('description', models.TextField(null=True, blank=True)),
  27. ('is_closed', models.BooleanField(default=False)),
  28. ('threads', models.PositiveIntegerField(default=0)),
  29. ('posts', models.PositiveIntegerField(default=0)),
  30. ('last_thread_title', models.CharField(max_length=255, null=True, blank=True)),
  31. ('last_thread_slug', models.CharField(max_length=255, null=True, blank=True)),
  32. ('last_poster_name', models.CharField(max_length=255, null=True, blank=True)),
  33. ('last_poster_slug', models.CharField(max_length=255, null=True, blank=True)),
  34. ('last_post_on', models.DateTimeField(null=True, blank=True)),
  35. ('prune_started_after', models.PositiveIntegerField(default=0)),
  36. ('prune_replied_after', models.PositiveIntegerField(default=0)),
  37. ('css_class', models.CharField(max_length=255, null=True, blank=True)),
  38. ('lft', models.PositiveIntegerField(editable=False, db_index=True)),
  39. ('rght', models.PositiveIntegerField(editable=False, db_index=True)),
  40. ('tree_id', models.PositiveIntegerField(editable=False, db_index=True)),
  41. ('level', models.PositiveIntegerField(editable=False, db_index=True)),
  42. (
  43. 'archive_pruned_in', models.ForeignKey(
  44. related_name='pruned_archive',
  45. on_delete=django.db.models.deletion.SET_NULL,
  46. blank=True,
  47. to='misago_categories.Category',
  48. null=True
  49. )
  50. ),
  51. (
  52. 'last_poster', models.ForeignKey(
  53. related_name='+',
  54. on_delete=django.db.models.deletion.SET_NULL,
  55. blank=True,
  56. to=settings.AUTH_USER_MODEL,
  57. null=True
  58. )
  59. ),
  60. (
  61. 'parent', mptt.fields.TreeForeignKey(
  62. related_name='children',
  63. on_delete=django.db.models.deletion.CASCADE,
  64. blank=True,
  65. to='misago_categories.Category',
  66. null=True
  67. )
  68. ),
  69. ],
  70. options={
  71. 'abstract': False,
  72. },
  73. bases=(models.Model, ),
  74. ),
  75. migrations.CreateModel(
  76. name='CategoryRole',
  77. fields=[
  78. (
  79. 'id', models.AutoField(
  80. verbose_name='ID', serialize=False, auto_created=True, primary_key=True
  81. )
  82. ),
  83. ('name', models.CharField(max_length=255)),
  84. ('special_role', models.CharField(max_length=255, null=True, blank=True)),
  85. ('permissions', JSONField(default=permissions_default)),
  86. ],
  87. options={
  88. 'abstract': False,
  89. },
  90. bases=(models.Model, ),
  91. ),
  92. migrations.CreateModel(
  93. name='RoleCategoryACL',
  94. fields=[
  95. (
  96. 'id', models.AutoField(
  97. verbose_name='ID', serialize=False, auto_created=True, primary_key=True
  98. )
  99. ),
  100. (
  101. 'category', models.ForeignKey(
  102. related_name='category_role_set',
  103. on_delete=django.db.models.deletion.CASCADE,
  104. to='misago_categories.Category',
  105. )
  106. ),
  107. (
  108. 'category_role', models.ForeignKey(
  109. on_delete=django.db.models.deletion.CASCADE,
  110. to='misago_categories.CategoryRole',
  111. to_field='id',
  112. )
  113. ),
  114. (
  115. 'role', models.ForeignKey(
  116. related_name='categories_acls',
  117. on_delete=django.db.models.deletion.CASCADE,
  118. to='misago_acl.Role',
  119. )
  120. ),
  121. ],
  122. options={},
  123. bases=(models.Model, ),
  124. ),
  125. ]