move HostingPackageAndCustomerMixin to gvawebcore.views
This commit is contained in:
parent
7bc26b261c
commit
638a6f6712
4 changed files with 37 additions and 21 deletions
|
@ -1,6 +1,9 @@
|
|||
Changelog
|
||||
=========
|
||||
|
||||
* :support:`-` move HostingPackageAndCustomerMixin from managemails.views to
|
||||
gvawebcore.views
|
||||
|
||||
* :release:`0.7.0 <2015-01-25>`
|
||||
* :feature:`-` implement mail address target editing
|
||||
* :feature:`-` implement mail address deletion
|
||||
|
|
|
@ -9,3 +9,10 @@
|
|||
|
||||
.. automodule:: gvawebcore.forms
|
||||
:members:
|
||||
|
||||
|
||||
:py:mod:`views <gvawebcore.views>`
|
||||
----------------------------------
|
||||
|
||||
.. automodule:: gvawebcore.views
|
||||
:members:
|
||||
|
|
26
gnuviechadmin/gvawebcore/views.py
Normal file
26
gnuviechadmin/gvawebcore/views.py
Normal file
|
@ -0,0 +1,26 @@
|
|||
"""
|
||||
This module defines common view code to be used by multiple gnuviechadmin apps.
|
||||
|
||||
"""
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.shortcuts import get_object_or_404
|
||||
from hostingpackages.models import CustomerHostingPackage
|
||||
|
||||
|
||||
class HostingPackageAndCustomerMixin(object):
|
||||
"""
|
||||
Mixin for views that gets the hosting package instance from the URL
|
||||
keyword argument 'package'.
|
||||
|
||||
"""
|
||||
hosting_package_kwarg = 'package'
|
||||
"""Keyword argument used to find the hosting package in the URL."""
|
||||
|
||||
def get_hosting_package(self):
|
||||
return get_object_or_404(
|
||||
CustomerHostingPackage,
|
||||
pk=int(self.kwargs[self.hosting_package_kwarg]))
|
||||
|
||||
def get_customer_object(self):
|
||||
return self.get_hosting_package().customer
|
|
@ -15,8 +15,7 @@ from django.views.generic.edit import (
|
|||
from django.contrib import messages
|
||||
|
||||
from gvacommon.viewmixins import StaffOrSelfLoginRequiredMixin
|
||||
|
||||
from hostingpackages.models import CustomerHostingPackage
|
||||
from gvawebcore.views import HostingPackageAndCustomerMixin
|
||||
|
||||
from domains.models import MailDomain
|
||||
from .forms import (
|
||||
|
@ -33,25 +32,6 @@ from .models import (
|
|||
)
|
||||
|
||||
|
||||
class HostingPackageAndCustomerMixin(object):
|
||||
"""
|
||||
Mixin for views that gets the hosting package instance from the URL
|
||||
keyword argument 'package'.
|
||||
|
||||
"""
|
||||
hosting_package_kwarg = 'package'
|
||||
"""Keyword argument used to find the hosting package in the URL."""
|
||||
|
||||
def get_hosting_package(self):
|
||||
return get_object_or_404(
|
||||
CustomerHostingPackage,
|
||||
pk=int(self.kwargs[self.hosting_package_kwarg]))
|
||||
|
||||
def get_customer_object(self):
|
||||
return self.get_hosting_package().customer
|
||||
|
||||
|
||||
|
||||
class CreateMailbox(
|
||||
HostingPackageAndCustomerMixin, StaffOrSelfLoginRequiredMixin, CreateView
|
||||
):
|
||||
|
|
Loading…
Reference in a new issue