Jan Dittberner
6cebd80c89
This commit is a rough port to Django 2.1, Python 3 and a Docker based local development setup. Tests fail/error but migrations and the web frontend are already runnable. Task queue functionality is untested and translations seem to have trouble.
58 lines
1.8 KiB
Python
58 lines
1.8 KiB
Python
"""
|
|
This module defines views related to domains.
|
|
|
|
"""
|
|
from __future__ import absolute_import, unicode_literals
|
|
|
|
from braces.views import StaffuserRequiredMixin
|
|
from django.contrib.auth.mixins import LoginRequiredMixin
|
|
from django.shortcuts import redirect, get_object_or_404
|
|
from django.views.generic.edit import CreateView
|
|
from django.utils.translation import ugettext as _
|
|
from django.contrib import messages
|
|
|
|
from hostingpackages.models import CustomerHostingPackage
|
|
|
|
from .forms import CreateHostingDomainForm
|
|
from .models import HostingDomain
|
|
|
|
|
|
class CreateHostingDomain(
|
|
LoginRequiredMixin, StaffuserRequiredMixin, CreateView
|
|
):
|
|
"""
|
|
This view is used for creating a new HostingDomain instance for an existing
|
|
hosting package.
|
|
|
|
"""
|
|
model = HostingDomain
|
|
raise_exception = True
|
|
template_name_suffix = '_create'
|
|
form_class = CreateHostingDomainForm
|
|
|
|
def _get_hosting_package(self):
|
|
return get_object_or_404(
|
|
CustomerHostingPackage, pk=int(self.kwargs['package']))
|
|
|
|
def get_form_kwargs(self):
|
|
kwargs = super(CreateHostingDomain, self).get_form_kwargs()
|
|
kwargs['hostingpackage'] = self._get_hosting_package()
|
|
return kwargs
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super(CreateHostingDomain, self).get_context_data(**kwargs)
|
|
hosting_package = self._get_hosting_package()
|
|
context.update({
|
|
'hostingpackage': hosting_package,
|
|
'customer': hosting_package.customer,
|
|
})
|
|
return context
|
|
|
|
def form_valid(self, form):
|
|
hostingdomain = form.save()
|
|
messages.success(
|
|
self.request,
|
|
_('Successfully created domain {domainname}').format(
|
|
domainname=hostingdomain.domain)
|
|
)
|
|
return redirect(self._get_hosting_package())
|