From 4273c7a6089cb6b45fc32afda1da0c4c3f5e6aff Mon Sep 17 00:00:00 2001 From: Kiara Grouwstra <kiara@procolix.eu> Date: Tue, 4 Mar 2025 09:09:50 +0100 Subject: [PATCH] add model changes to make it boot (allow null) --- panel/src/panel/migrations/0001_initial.py | 8 ++++---- panel/src/panel/models.py | 6 +++--- panel/src/panel/templates/configuration_form.html | 3 ++- panel/src/panel/views.py | 6 +++--- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/panel/src/panel/migrations/0001_initial.py b/panel/src/panel/migrations/0001_initial.py index 07b5359..5d94426 100644 --- a/panel/src/panel/migrations/0001_initial.py +++ b/panel/src/panel/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 4.2.16 on 2025-03-03 14:48 +# Generated by Django 4.2.16 on 2025-03-04 07:55 from django.conf import settings from django.db import migrations, models @@ -41,10 +41,10 @@ class Migration(migrations.Migration): ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('enable', models.BooleanField(default=False, help_text='Enable the configuration')), ('domain', models.CharField(choices=[('fediversity_eu', 'fediversity.eu'), ('fediversity_net', 'fediversity.net')], max_length=255)), - ('mastodon', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='config', to='panel.mastodonconfig')), + ('mastodon', models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='config', to='panel.mastodonconfig')), ('operator', models.ForeignKey(help_text='Operator who owns the configuration', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='configurations', to=settings.AUTH_USER_MODEL)), - ('peertube', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='config', to='panel.peertubeconfig')), - ('pixelfed', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='config', to='panel.pixelfedconfig')), + ('peertube', models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='config', to='panel.peertubeconfig')), + ('pixelfed', models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='config', to='panel.pixelfedconfig')), ], ), ] diff --git a/panel/src/panel/models.py b/panel/src/panel/models.py index ff47970..c83dd45 100644 --- a/panel/src/panel/models.py +++ b/panel/src/panel/models.py @@ -45,6 +45,6 @@ class Configuration(models.Model): ], max_length=255, ) - mastodon = models.OneToOneField(MastodonConfig, on_delete=models.CASCADE, related_name='config') - pixelfed = models.OneToOneField(PixelfedConfig, on_delete=models.CASCADE, related_name='config') - peertube = models.OneToOneField(PeertubeConfig, on_delete=models.CASCADE, related_name='config') + mastodon = models.OneToOneField(MastodonConfig, on_delete=models.CASCADE, related_name='config', null=True) + pixelfed = models.OneToOneField(PixelfedConfig, on_delete=models.CASCADE, related_name='config', null=True) + peertube = models.OneToOneField(PeertubeConfig, on_delete=models.CASCADE, related_name='config', null=True) diff --git a/panel/src/panel/templates/configuration_form.html b/panel/src/panel/templates/configuration_form.html index 84ec0ec..74034b2 100644 --- a/panel/src/panel/templates/configuration_form.html +++ b/panel/src/panel/templates/configuration_form.html @@ -4,7 +4,8 @@ {% csrf_token %} {{ form.as_p }} - </fieldset> + <h2>Services</h2> + {{ children.as_p }} <button class="button" disabled>Deploy</button> <button class="button" type="submit" >Save</button> diff --git a/panel/src/panel/views.py b/panel/src/panel/views.py index 7006d02..24083e9 100644 --- a/panel/src/panel/views.py +++ b/panel/src/panel/views.py @@ -67,10 +67,10 @@ class ConfigurationForm(LoginRequiredMixin, UpdateView): # Save related forms MastodonConfigForm(self.request.POST, - instance=obj.mastodonconfig).save() + instance=obj.mastodon).save() PixelfedConfigForm(self.request.POST, - instance=obj.pixelfedconfig).save() + instance=obj.pixelfed).save() PeertubeConfigForm(self.request.POST, - instance=obj.peertubeconfig).save() + instance=obj.peertube).save() return response