diff --git a/froide_govplan/migrations/0001_initial.py b/froide_govplan/migrations/0001_initial.py
index 04d0152..aa4c7c5 100644
--- a/froide_govplan/migrations/0001_initial.py
+++ b/froide_govplan/migrations/0001_initial.py
@@ -1,9 +1,10 @@
# Generated by Django 3.2.8 on 2022-02-15 19:55
-from django.conf import settings
-from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
+from django.conf import settings
+from django.db import migrations, models
+
import filer.fields.image
import taggit.managers
@@ -13,96 +14,267 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
- ('publicbody', '0039_publicbody_alternative_emails'),
- ('auth', '0012_alter_user_first_name_max_length'),
- ('foirequest', '0054_alter_foirequest_options'),
+ ("publicbody", "0039_publicbody_alternative_emails"),
+ ("auth", "0012_alter_user_first_name_max_length"),
+ ("foirequest", "0054_alter_foirequest_options"),
migrations.swappable_dependency(settings.FILER_IMAGE_MODEL),
- ('organization', '0001_initial'),
+ ("organization", "0001_initial"),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
- name='CategorizedGovernmentPlan',
+ name="CategorizedGovernmentPlan",
fields=[
- ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ (
+ "id",
+ models.AutoField(
+ auto_created=True,
+ primary_key=True,
+ serialize=False,
+ verbose_name="ID",
+ ),
+ ),
],
options={
- 'verbose_name': 'Categorized Government Plan',
- 'verbose_name_plural': 'Categorized Government Plans',
+ "verbose_name": "Categorized Government Plan",
+ "verbose_name_plural": "Categorized Government Plans",
},
),
migrations.CreateModel(
- name='Government',
+ name="Government",
fields=[
- ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('name', models.CharField(max_length=255)),
- ('slug', models.SlugField(max_length=255, unique=True)),
- ('public', models.BooleanField(default=False)),
- ('description', models.TextField(blank=True)),
- ('start_date', models.DateField(blank=True, null=True)),
- ('end_date', models.DateField(blank=True, null=True)),
- ('planning_document', models.URLField(blank=True)),
- ('jurisdiction', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='publicbody.jurisdiction')),
+ (
+ "id",
+ models.AutoField(
+ auto_created=True,
+ primary_key=True,
+ serialize=False,
+ verbose_name="ID",
+ ),
+ ),
+ ("name", models.CharField(max_length=255)),
+ ("slug", models.SlugField(max_length=255, unique=True)),
+ ("public", models.BooleanField(default=False)),
+ ("description", models.TextField(blank=True)),
+ ("start_date", models.DateField(blank=True, null=True)),
+ ("end_date", models.DateField(blank=True, null=True)),
+ ("planning_document", models.URLField(blank=True)),
+ (
+ "jurisdiction",
+ models.ForeignKey(
+ null=True,
+ on_delete=django.db.models.deletion.SET_NULL,
+ to="publicbody.jurisdiction",
+ ),
+ ),
],
options={
- 'verbose_name': 'Government',
- 'verbose_name_plural': 'Governments',
+ "verbose_name": "Government",
+ "verbose_name_plural": "Governments",
},
),
migrations.CreateModel(
- name='GovernmentPlan',
+ name="GovernmentPlan",
fields=[
- ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('title', models.CharField(max_length=255)),
- ('slug', models.SlugField(max_length=255, unique=True)),
- ('description', models.TextField(blank=True)),
- ('public', models.BooleanField(default=False)),
- ('status', models.CharField(choices=[('not_started', 'not started'), ('started', 'started'), ('partially_implemented', 'partially implemented'), ('implemented', 'implemented'), ('deferred', 'deferred')], default='needs_approval', max_length=25)),
- ('rating', models.IntegerField(blank=True, choices=[(1, 'terrible'), (2, 'bad'), (3, 'OK'), (4, 'good'), (5, 'excellent')], null=True)),
- ('reference', models.CharField(blank=True, max_length=255)),
- ('categories', taggit.managers.TaggableManager(blank=True, help_text='A comma-separated list of tags.', through='froide_govplan.CategorizedGovernmentPlan', to='publicbody.Category', verbose_name='categories')),
- ('government', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='froide_govplan.government')),
- ('group', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='auth.group')),
- ('image', filer.fields.image.FilerImageField(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.FILER_IMAGE_MODEL, verbose_name='image')),
- ('responsible_publicbody', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='publicbody.publicbody')),
+ (
+ "id",
+ models.AutoField(
+ auto_created=True,
+ primary_key=True,
+ serialize=False,
+ verbose_name="ID",
+ ),
+ ),
+ ("title", models.CharField(max_length=255)),
+ ("slug", models.SlugField(max_length=255, unique=True)),
+ ("description", models.TextField(blank=True)),
+ ("public", models.BooleanField(default=False)),
+ (
+ "status",
+ models.CharField(
+ choices=[
+ ("not_started", "not started"),
+ ("started", "started"),
+ ("partially_implemented", "partially implemented"),
+ ("implemented", "implemented"),
+ ("deferred", "deferred"),
+ ],
+ default="needs_approval",
+ max_length=25,
+ ),
+ ),
+ (
+ "rating",
+ models.IntegerField(
+ blank=True,
+ choices=[
+ (1, "terrible"),
+ (2, "bad"),
+ (3, "OK"),
+ (4, "good"),
+ (5, "excellent"),
+ ],
+ null=True,
+ ),
+ ),
+ ("reference", models.CharField(blank=True, max_length=255)),
+ (
+ "categories",
+ taggit.managers.TaggableManager(
+ blank=True,
+ help_text="A comma-separated list of tags.",
+ through="froide_govplan.CategorizedGovernmentPlan",
+ to="publicbody.Category",
+ verbose_name="categories",
+ ),
+ ),
+ (
+ "government",
+ models.ForeignKey(
+ on_delete=django.db.models.deletion.CASCADE,
+ to="froide_govplan.government",
+ ),
+ ),
+ (
+ "group",
+ models.ForeignKey(
+ blank=True,
+ null=True,
+ on_delete=django.db.models.deletion.SET_NULL,
+ to="auth.group",
+ ),
+ ),
+ (
+ "image",
+ filer.fields.image.FilerImageField(
+ blank=True,
+ default=None,
+ null=True,
+ on_delete=django.db.models.deletion.SET_NULL,
+ to=settings.FILER_IMAGE_MODEL,
+ verbose_name="image",
+ ),
+ ),
+ (
+ "responsible_publicbody",
+ models.ForeignKey(
+ blank=True,
+ null=True,
+ on_delete=django.db.models.deletion.SET_NULL,
+ to="publicbody.publicbody",
+ ),
+ ),
],
options={
- 'verbose_name': 'Government plan',
- 'verbose_name_plural': 'Government plans',
- 'ordering': ('reference', 'title'),
+ "verbose_name": "Government plan",
+ "verbose_name_plural": "Government plans",
+ "ordering": ("reference", "title"),
},
),
migrations.CreateModel(
- name='GovernmentPlanUpdate',
+ name="GovernmentPlanUpdate",
fields=[
- ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('timestamp', models.DateTimeField(default=django.utils.timezone.now)),
- ('title', models.CharField(blank=True, max_length=1024)),
- ('content', models.TextField(blank=True)),
- ('status', models.CharField(blank=True, choices=[('not_started', 'not started'), ('started', 'started'), ('partially_implemented', 'partially implemented'), ('implemented', 'implemented'), ('deferred', 'deferred')], default='', max_length=25)),
- ('rating', models.IntegerField(blank=True, choices=[(1, 'terrible'), (2, 'bad'), (3, 'OK'), (4, 'good'), (5, 'excellent')], null=True)),
- ('public', models.BooleanField(default=False)),
- ('foirequest', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='foirequest.foirequest')),
- ('organization', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization.organization')),
- ('plan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='updates', to='froide_govplan.governmentplan')),
- ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
+ (
+ "id",
+ models.AutoField(
+ auto_created=True,
+ primary_key=True,
+ serialize=False,
+ verbose_name="ID",
+ ),
+ ),
+ ("timestamp", models.DateTimeField(default=django.utils.timezone.now)),
+ ("title", models.CharField(blank=True, max_length=1024)),
+ ("content", models.TextField(blank=True)),
+ (
+ "status",
+ models.CharField(
+ blank=True,
+ choices=[
+ ("not_started", "not started"),
+ ("started", "started"),
+ ("partially_implemented", "partially implemented"),
+ ("implemented", "implemented"),
+ ("deferred", "deferred"),
+ ],
+ default="",
+ max_length=25,
+ ),
+ ),
+ (
+ "rating",
+ models.IntegerField(
+ blank=True,
+ choices=[
+ (1, "terrible"),
+ (2, "bad"),
+ (3, "OK"),
+ (4, "good"),
+ (5, "excellent"),
+ ],
+ null=True,
+ ),
+ ),
+ ("public", models.BooleanField(default=False)),
+ (
+ "foirequest",
+ models.ForeignKey(
+ blank=True,
+ null=True,
+ on_delete=django.db.models.deletion.SET_NULL,
+ to="foirequest.foirequest",
+ ),
+ ),
+ (
+ "organization",
+ models.ForeignKey(
+ blank=True,
+ null=True,
+ on_delete=django.db.models.deletion.SET_NULL,
+ to="organization.organization",
+ ),
+ ),
+ (
+ "plan",
+ models.ForeignKey(
+ on_delete=django.db.models.deletion.CASCADE,
+ related_name="updates",
+ to="froide_govplan.governmentplan",
+ ),
+ ),
+ (
+ "user",
+ models.ForeignKey(
+ blank=True,
+ null=True,
+ on_delete=django.db.models.deletion.SET_NULL,
+ to=settings.AUTH_USER_MODEL,
+ ),
+ ),
],
options={
- 'verbose_name': 'Plan update',
- 'verbose_name_plural': 'Plan updates',
- 'ordering': ('-timestamp',),
- 'get_latest_by': 'timestamp',
+ "verbose_name": "Plan update",
+ "verbose_name_plural": "Plan updates",
+ "ordering": ("-timestamp",),
+ "get_latest_by": "timestamp",
},
),
migrations.AddField(
- model_name='categorizedgovernmentplan',
- name='content_object',
- field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='froide_govplan.governmentplan'),
+ model_name="categorizedgovernmentplan",
+ name="content_object",
+ field=models.ForeignKey(
+ on_delete=django.db.models.deletion.CASCADE,
+ to="froide_govplan.governmentplan",
+ ),
),
migrations.AddField(
- model_name='categorizedgovernmentplan',
- name='tag',
- field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='categorized_governmentplan', to='publicbody.category'),
+ model_name="categorizedgovernmentplan",
+ name="tag",
+ field=models.ForeignKey(
+ on_delete=django.db.models.deletion.CASCADE,
+ related_name="categorized_governmentplan",
+ to="publicbody.category",
+ ),
),
]
diff --git a/froide_govplan/migrations/0002_auto_20220215_2113.py b/froide_govplan/migrations/0002_auto_20220215_2113.py
index c4494f5..ccfd314 100644
--- a/froide_govplan/migrations/0002_auto_20220215_2113.py
+++ b/froide_govplan/migrations/0002_auto_20220215_2113.py
@@ -1,42 +1,94 @@
# Generated by Django 3.2.8 on 2022-02-15 20:13
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
- ('publicbody', '0039_publicbody_alternative_emails'),
- ('organization', '0001_initial'),
- ('cms', '0022_auto_20180620_1551'),
- ('froide_govplan', '0001_initial'),
+ ("publicbody", "0039_publicbody_alternative_emails"),
+ ("organization", "0001_initial"),
+ ("cms", "0022_auto_20180620_1551"),
+ ("froide_govplan", "0001_initial"),
]
operations = [
migrations.AddField(
- model_name='governmentplan',
- name='organization',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='organization.organization'),
+ model_name="governmentplan",
+ name="organization",
+ field=models.ForeignKey(
+ blank=True,
+ null=True,
+ on_delete=django.db.models.deletion.SET_NULL,
+ to="organization.organization",
+ ),
),
migrations.AddField(
- model_name='governmentplanupdate',
- name='url',
+ model_name="governmentplanupdate",
+ name="url",
field=models.URLField(blank=True),
),
migrations.CreateModel(
- name='GovernmentPlansCMSPlugin',
+ name="GovernmentPlansCMSPlugin",
fields=[
- ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='froide_govplan_governmentplanscmsplugin', serialize=False, to='cms.cmsplugin')),
- ('count', models.PositiveIntegerField(default=1, help_text='0 means all the plans', verbose_name='number of plans')),
- ('offset', models.PositiveIntegerField(default=0, help_text='number of plans to skip from top of list', verbose_name='offset')),
- ('template', models.CharField(blank=True, choices=[('froide_govplan/plugins/default.html', 'Normal')], help_text='template used to display the plugin', max_length=250, verbose_name='template')),
- ('categories', models.ManyToManyField(blank=True, to='publicbody.Category', verbose_name='categories')),
- ('government', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='froide_govplan.government')),
+ (
+ "cmsplugin_ptr",
+ models.OneToOneField(
+ auto_created=True,
+ on_delete=django.db.models.deletion.CASCADE,
+ parent_link=True,
+ primary_key=True,
+ related_name="froide_govplan_governmentplanscmsplugin",
+ serialize=False,
+ to="cms.cmsplugin",
+ ),
+ ),
+ (
+ "count",
+ models.PositiveIntegerField(
+ default=1,
+ help_text="0 means all the plans",
+ verbose_name="number of plans",
+ ),
+ ),
+ (
+ "offset",
+ models.PositiveIntegerField(
+ default=0,
+ help_text="number of plans to skip from top of list",
+ verbose_name="offset",
+ ),
+ ),
+ (
+ "template",
+ models.CharField(
+ blank=True,
+ choices=[("froide_govplan/plugins/default.html", "Normal")],
+ help_text="template used to display the plugin",
+ max_length=250,
+ verbose_name="template",
+ ),
+ ),
+ (
+ "categories",
+ models.ManyToManyField(
+ blank=True, to="publicbody.Category", verbose_name="categories"
+ ),
+ ),
+ (
+ "government",
+ models.ForeignKey(
+ blank=True,
+ null=True,
+ on_delete=django.db.models.deletion.SET_NULL,
+ to="froide_govplan.government",
+ ),
+ ),
],
options={
- 'abstract': False,
+ "abstract": False,
},
- bases=('cms.cmsplugin',),
+ bases=("cms.cmsplugin",),
),
]
diff --git a/froide_govplan/migrations/0004_auto_20220311_2330.py b/froide_govplan/migrations/0004_auto_20220311_2330.py
index 92809d2..e82142c 100644
--- a/froide_govplan/migrations/0004_auto_20220311_2330.py
+++ b/froide_govplan/migrations/0004_auto_20220311_2330.py
@@ -1,49 +1,98 @@
# Generated by Django 3.2.12 on 2022-03-11 22:30
-from django.conf import settings
-from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
+from django.conf import settings
+from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
- ('froide_govplan', '0003_auto_20220228_1051'),
+ ("froide_govplan", "0003_auto_20220228_1051"),
]
operations = [
migrations.AlterField(
- model_name='governmentplanscmsplugin',
- name='template',
- field=models.CharField(blank=True, choices=[('froide_govplan/plugins/default.html', 'Normal'), ('froide_govplan/plugins/progress.html', 'Progress'), ('froide_govplan/plugins/card_cols.html', 'Card columns')], help_text='template used to display the plugin', max_length=250, verbose_name='template'),
+ model_name="governmentplanscmsplugin",
+ name="template",
+ field=models.CharField(
+ blank=True,
+ choices=[
+ ("froide_govplan/plugins/default.html", "Normal"),
+ ("froide_govplan/plugins/progress.html", "Progress"),
+ ("froide_govplan/plugins/card_cols.html", "Card columns"),
+ ],
+ help_text="template used to display the plugin",
+ max_length=250,
+ verbose_name="template",
+ ),
),
migrations.CreateModel(
- name='GovernmentPlanFollower',
+ name="GovernmentPlanFollower",
fields=[
- ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('email', models.CharField(blank=True, max_length=255)),
- ('confirmed', models.BooleanField(default=False)),
- ('timestamp', models.DateTimeField(default=django.utils.timezone.now, verbose_name='Timestamp of Following')),
- ('context', models.JSONField(blank=True, null=True)),
- ('content_object', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='followers', to='froide_govplan.governmentplan', verbose_name='Government plan')),
- ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')),
+ (
+ "id",
+ models.AutoField(
+ auto_created=True,
+ primary_key=True,
+ serialize=False,
+ verbose_name="ID",
+ ),
+ ),
+ ("email", models.CharField(blank=True, max_length=255)),
+ ("confirmed", models.BooleanField(default=False)),
+ (
+ "timestamp",
+ models.DateTimeField(
+ default=django.utils.timezone.now,
+ verbose_name="Timestamp of Following",
+ ),
+ ),
+ ("context", models.JSONField(blank=True, null=True)),
+ (
+ "content_object",
+ models.ForeignKey(
+ on_delete=django.db.models.deletion.CASCADE,
+ related_name="followers",
+ to="froide_govplan.governmentplan",
+ verbose_name="Government plan",
+ ),
+ ),
+ (
+ "user",
+ models.ForeignKey(
+ blank=True,
+ null=True,
+ on_delete=django.db.models.deletion.CASCADE,
+ to=settings.AUTH_USER_MODEL,
+ verbose_name="User",
+ ),
+ ),
],
options={
- 'verbose_name': 'Government plan follower',
- 'verbose_name_plural': 'Government plan followers',
- 'ordering': ('-timestamp',),
- 'get_latest_by': 'timestamp',
- 'abstract': False,
+ "verbose_name": "Government plan follower",
+ "verbose_name_plural": "Government plan followers",
+ "ordering": ("-timestamp",),
+ "get_latest_by": "timestamp",
+ "abstract": False,
},
),
migrations.AddConstraint(
- model_name='governmentplanfollower',
- constraint=models.UniqueConstraint(condition=models.Q(('user__isnull', False)), fields=('content_object', 'user'), name='unique_user_follower_froide_govplan_governmentplanfollower'),
+ model_name="governmentplanfollower",
+ constraint=models.UniqueConstraint(
+ condition=models.Q(("user__isnull", False)),
+ fields=("content_object", "user"),
+ name="unique_user_follower_froide_govplan_governmentplanfollower",
+ ),
),
migrations.AddConstraint(
- model_name='governmentplanfollower',
- constraint=models.UniqueConstraint(condition=models.Q(('user__isnull', True)), fields=('content_object', 'email'), name='unique_email_follower_froide_govplan_governmentplanfollower'),
+ model_name="governmentplanfollower",
+ constraint=models.UniqueConstraint(
+ condition=models.Q(("user__isnull", True)),
+ fields=("content_object", "email"),
+ name="unique_email_follower_froide_govplan_governmentplanfollower",
+ ),
),
]
diff --git a/froide_govplan/migrations/0005_governmentplansection.py b/froide_govplan/migrations/0005_governmentplansection.py
index 3cf2947..9c05f26 100644
--- a/froide_govplan/migrations/0005_governmentplansection.py
+++ b/froide_govplan/migrations/0005_governmentplansection.py
@@ -1,41 +1,93 @@
# Generated by Django 3.2.12 on 2022-03-14 10:14
-import cms.models.fields
+import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
-import django.db.models.deletion
+
+import cms.models.fields
import filer.fields.image
class Migration(migrations.Migration):
dependencies = [
- ('publicbody', '0039_publicbody_alternative_emails'),
+ ("publicbody", "0039_publicbody_alternative_emails"),
migrations.swappable_dependency(settings.FILER_IMAGE_MODEL),
- ('cms', '0022_auto_20180620_1551'),
- ('froide_govplan', '0004_auto_20220311_2330'),
+ ("cms", "0022_auto_20180620_1551"),
+ ("froide_govplan", "0004_auto_20220311_2330"),
]
operations = [
migrations.CreateModel(
- name='GovernmentPlanSection',
+ name="GovernmentPlanSection",
fields=[
- ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('title', models.CharField(max_length=255, verbose_name='title')),
- ('slug', models.SlugField(max_length=255, unique=True, verbose_name='slug')),
- ('description', models.TextField(blank=True, verbose_name='description')),
- ('icon', models.CharField(blank=True, help_text='Enter an icon name from the FontAwesome 4 icon set', max_length=50, verbose_name='Icon')),
- ('order', models.PositiveIntegerField(default=0)),
- ('featured', models.DateTimeField(blank=True, null=True)),
- ('categories', models.ManyToManyField(blank=True, to='publicbody.Category')),
- ('content_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, slotname='content', to='cms.placeholder')),
- ('government', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='froide_govplan.government', verbose_name='government')),
- ('image', filer.fields.image.FilerImageField(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.FILER_IMAGE_MODEL, verbose_name='image')),
+ (
+ "id",
+ models.AutoField(
+ auto_created=True,
+ primary_key=True,
+ serialize=False,
+ verbose_name="ID",
+ ),
+ ),
+ ("title", models.CharField(max_length=255, verbose_name="title")),
+ (
+ "slug",
+ models.SlugField(max_length=255, unique=True, verbose_name="slug"),
+ ),
+ (
+ "description",
+ models.TextField(blank=True, verbose_name="description"),
+ ),
+ (
+ "icon",
+ models.CharField(
+ blank=True,
+ help_text='Enter an icon name from the FontAwesome 4 icon set',
+ max_length=50,
+ verbose_name="Icon",
+ ),
+ ),
+ ("order", models.PositiveIntegerField(default=0)),
+ ("featured", models.DateTimeField(blank=True, null=True)),
+ (
+ "categories",
+ models.ManyToManyField(blank=True, to="publicbody.Category"),
+ ),
+ (
+ "content_placeholder",
+ cms.models.fields.PlaceholderField(
+ editable=False,
+ null=True,
+ on_delete=django.db.models.deletion.CASCADE,
+ slotname="content",
+ to="cms.placeholder",
+ ),
+ ),
+ (
+ "government",
+ models.ForeignKey(
+ on_delete=django.db.models.deletion.CASCADE,
+ to="froide_govplan.government",
+ verbose_name="government",
+ ),
+ ),
+ (
+ "image",
+ filer.fields.image.FilerImageField(
+ blank=True,
+ default=None,
+ null=True,
+ on_delete=django.db.models.deletion.SET_NULL,
+ to=settings.FILER_IMAGE_MODEL,
+ verbose_name="image",
+ ),
+ ),
],
options={
- 'verbose_name': 'Government plan section',
- 'verbose_name_plural': 'Government plan sections',
- 'ordering': ('order', 'title'),
+ "verbose_name": "Government plan section",
+ "verbose_name_plural": "Government plan sections",
+ "ordering": ("order", "title"),
},
),
]
diff --git a/froide_govplan/migrations/0006_sections_cms_plugin.py b/froide_govplan/migrations/0006_sections_cms_plugin.py
index 46228b6..f6fd573 100644
--- a/froide_govplan/migrations/0006_sections_cms_plugin.py
+++ b/froide_govplan/migrations/0006_sections_cms_plugin.py
@@ -1,7 +1,7 @@
# Generated by Django 3.2.12 on 2022-03-14 12:10
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/froide_govplan/migrations/0007_auto_20220314_1422.py b/froide_govplan/migrations/0007_auto_20220314_1422.py
index 799c870..615940c 100644
--- a/froide_govplan/migrations/0007_auto_20220314_1422.py
+++ b/froide_govplan/migrations/0007_auto_20220314_1422.py
@@ -6,18 +6,29 @@ from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
- ('froide_govplan', '0006_sections_cms_plugin'),
+ ("froide_govplan", "0006_sections_cms_plugin"),
]
operations = [
migrations.AlterField(
- model_name='governmentplanscmsplugin',
- name='template',
- field=models.CharField(blank=True, choices=[('froide_govplan/plugins/default.html', 'Normal'), ('froide_govplan/plugins/progress.html', 'Progress'), ('froide_govplan/plugins/card_cols.html', 'Card columns'), ('froide_govplan/plugins/search.html', 'Search')], help_text='template used to display the plugin', max_length=250, verbose_name='template'),
+ model_name="governmentplanscmsplugin",
+ name="template",
+ field=models.CharField(
+ blank=True,
+ choices=[
+ ("froide_govplan/plugins/default.html", "Normal"),
+ ("froide_govplan/plugins/progress.html", "Progress"),
+ ("froide_govplan/plugins/card_cols.html", "Card columns"),
+ ("froide_govplan/plugins/search.html", "Search"),
+ ],
+ help_text="template used to display the plugin",
+ max_length=250,
+ verbose_name="template",
+ ),
),
migrations.AlterField(
- model_name='governmentplanupdate',
- name='url',
- field=models.URLField(blank=True, max_length=1024, verbose_name='URL'),
+ model_name="governmentplanupdate",
+ name="url",
+ field=models.URLField(blank=True, max_length=1024, verbose_name="URL"),
),
]
diff --git a/froide_govplan/migrations/0008_governmentplan_proposals.py b/froide_govplan/migrations/0008_governmentplan_proposals.py
index 3b22f3e..d33329c 100644
--- a/froide_govplan/migrations/0008_governmentplan_proposals.py
+++ b/froide_govplan/migrations/0008_governmentplan_proposals.py
@@ -6,13 +6,13 @@ from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
- ('froide_govplan', '0007_auto_20220314_1422'),
+ ("froide_govplan", "0007_auto_20220314_1422"),
]
operations = [
migrations.AddField(
- model_name='governmentplan',
- name='proposals',
+ model_name="governmentplan",
+ name="proposals",
field=models.JSONField(blank=True, null=True),
),
]
diff --git a/froide_govplan/migrations/0009_governmentplanupdatescmsplugin.py b/froide_govplan/migrations/0009_governmentplanupdatescmsplugin.py
index 26532b0..f378476 100644
--- a/froide_govplan/migrations/0009_governmentplanupdatescmsplugin.py
+++ b/froide_govplan/migrations/0009_governmentplanupdatescmsplugin.py
@@ -1,30 +1,68 @@
# Generated by Django 3.2.12 on 2022-03-17 14:54
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
- ('cms', '0022_auto_20180620_1551'),
- ('publicbody', '0039_publicbody_alternative_emails'),
- ('froide_govplan', '0008_governmentplan_proposals'),
+ ("cms", "0022_auto_20180620_1551"),
+ ("publicbody", "0039_publicbody_alternative_emails"),
+ ("froide_govplan", "0008_governmentplan_proposals"),
]
operations = [
migrations.CreateModel(
- name='GovernmentPlanUpdatesCMSPlugin',
+ name="GovernmentPlanUpdatesCMSPlugin",
fields=[
- ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='froide_govplan_governmentplanupdatescmsplugin', serialize=False, to='cms.cmsplugin')),
- ('count', models.PositiveIntegerField(default=1, help_text='0 means all the updates', verbose_name='number of updates')),
- ('offset', models.PositiveIntegerField(default=0, help_text='number of updates to skip from top of list', verbose_name='offset')),
- ('categories', models.ManyToManyField(blank=True, to='publicbody.Category', verbose_name='categories')),
- ('government', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='froide_govplan.government')),
+ (
+ "cmsplugin_ptr",
+ models.OneToOneField(
+ auto_created=True,
+ on_delete=django.db.models.deletion.CASCADE,
+ parent_link=True,
+ primary_key=True,
+ related_name="froide_govplan_governmentplanupdatescmsplugin",
+ serialize=False,
+ to="cms.cmsplugin",
+ ),
+ ),
+ (
+ "count",
+ models.PositiveIntegerField(
+ default=1,
+ help_text="0 means all the updates",
+ verbose_name="number of updates",
+ ),
+ ),
+ (
+ "offset",
+ models.PositiveIntegerField(
+ default=0,
+ help_text="number of updates to skip from top of list",
+ verbose_name="offset",
+ ),
+ ),
+ (
+ "categories",
+ models.ManyToManyField(
+ blank=True, to="publicbody.Category", verbose_name="categories"
+ ),
+ ),
+ (
+ "government",
+ models.ForeignKey(
+ blank=True,
+ null=True,
+ on_delete=django.db.models.deletion.SET_NULL,
+ to="froide_govplan.government",
+ ),
+ ),
],
options={
- 'abstract': False,
+ "abstract": False,
},
- bases=('cms.cmsplugin',),
+ bases=("cms.cmsplugin",),
),
]
diff --git a/froide_govplan/migrations/0010_governmentplanscmsplugin_extra_classes.py b/froide_govplan/migrations/0010_governmentplanscmsplugin_extra_classes.py
index 4fc865d..f3ef088 100644
--- a/froide_govplan/migrations/0010_governmentplanscmsplugin_extra_classes.py
+++ b/froide_govplan/migrations/0010_governmentplanscmsplugin_extra_classes.py
@@ -6,13 +6,13 @@ from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
- ('froide_govplan', '0009_governmentplanupdatescmsplugin'),
+ ("froide_govplan", "0009_governmentplanupdatescmsplugin"),
]
operations = [
migrations.AddField(
- model_name='governmentplanscmsplugin',
- name='extra_classes',
+ model_name="governmentplanscmsplugin",
+ name="extra_classes",
field=models.CharField(blank=True, max_length=255),
),
]
diff --git a/froide_govplan/migrations/0011_governmentplan_properties.py b/froide_govplan/migrations/0011_governmentplan_properties.py
index aebe3aa..d047616 100644
--- a/froide_govplan/migrations/0011_governmentplan_properties.py
+++ b/froide_govplan/migrations/0011_governmentplan_properties.py
@@ -6,13 +6,13 @@ from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
- ('froide_govplan', '0010_governmentplanscmsplugin_extra_classes'),
+ ("froide_govplan", "0010_governmentplanscmsplugin_extra_classes"),
]
operations = [
migrations.AddField(
- model_name='governmentplan',
- name='properties',
+ model_name="governmentplan",
+ name="properties",
field=models.JSONField(blank=True, default=dict),
),
]