diff --git a/panel/src/panel/forms.py b/panel/src/panel/forms.py new file mode 100644 index 00000000..ae966250 --- /dev/null +++ b/panel/src/panel/forms.py @@ -0,0 +1,13 @@ +from django import forms +from .models import DeployFormModel + + +class DeployForm(forms.ModelForm): + class Meta: + model = DeployFormModel + fields = [ + 'domain', + 'mastodon', + 'pixelfed', + 'mastodon', + ] diff --git a/panel/src/panel/models.py b/panel/src/panel/models.py new file mode 100644 index 00000000..9aeb88fd --- /dev/null +++ b/panel/src/panel/models.py @@ -0,0 +1,11 @@ +from django.db import models + + +class DeployFormModel(models.Model): + domain = models.TextField() + mastodon = models.BooleanField(default=False) + pixelfed = models.BooleanField(default=False) + peertube = models.BooleanField(default=False) + + def __str__(self): + return self.domain diff --git a/panel/src/panel/templates/deploy_services.html b/panel/src/panel/templates/deploy_services.html new file mode 100644 index 00000000..76583e91 --- /dev/null +++ b/panel/src/panel/templates/deploy_services.html @@ -0,0 +1,55 @@ +{% extends "base.html" %} +{% block content %} +
+ {% csrf_token %} + {{ form.as_p }} +
+ + +
+ +
+ Services: + +
+ + +
+ + + +
+ + +
+ + + +
+ + +
+ + + +
+ + + +
+{% endblock %} diff --git a/panel/src/panel/templates/index.html b/panel/src/panel/templates/index.html index 1f091878..80a62e12 100644 --- a/panel/src/panel/templates/index.html +++ b/panel/src/panel/templates/index.html @@ -3,56 +3,4 @@ {% block content %}

Fediversity Panel

-
- {% csrf_token %} - -
- - -
- -
- Services: - -
- - -
- - - -
- - -
- - - -
- - -
- - - -
- - -
- {% endblock %} diff --git a/panel/src/panel/urls.py b/panel/src/panel/urls.py index 46c765e0..021ec69c 100644 --- a/panel/src/panel/urls.py +++ b/panel/src/panel/urls.py @@ -25,4 +25,5 @@ urlpatterns = [ path("", include("django.contrib.auth.urls")), path("account/", views.AccountDetail.as_view(), name='account_detail'), path("services/", views.ServiceList.as_view(), name='service_list'), + path("deploy/", views.DeployServices.as_view(), name='deploy_services'), ] diff --git a/panel/src/panel/views.py b/panel/src/panel/views.py index 17656966..e879b9e2 100644 --- a/panel/src/panel/views.py +++ b/panel/src/panel/views.py @@ -2,6 +2,11 @@ from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.models import User from django.views.generic import TemplateView from django.views.generic import DetailView +from django.views.generic.edit import CreateView +from django.shortcuts import render, redirect +from django.urls import reverse_lazy +from .models import DeployFormModel +from .forms import DeployForm class Index(TemplateView): template_name = 'index.html' @@ -14,3 +19,10 @@ class AccountDetail(LoginRequiredMixin, DetailView): class ServiceList(TemplateView): template_name = 'service_list.html' + +class DeployServices(LoginRequiredMixin, TemplateView): + template_name = 'deploy_services.html' + model = DeployFormModel + form_class = DeployForm + success_url = reverse_lazy('index') +