diff --git a/docs/code.rst b/docs/code.rst index 22944fe..d5f720c 100644 --- a/docs/code.rst +++ b/docs/code.rst @@ -16,6 +16,7 @@ administrators and customers. code/gvacommon code/dashboard code/domains + code/hostingpackages code/managemails code/mysqltasks code/osusers diff --git a/docs/code/hostingpackages.rst b/docs/code/hostingpackages.rst new file mode 100644 index 0000000..2d5d077 --- /dev/null +++ b/docs/code/hostingpackages.rst @@ -0,0 +1,24 @@ +:py:mod:`hostingpackages` app +============================= + +.. automodule:: hostingpackages + +:py:mod:`admin ` +--------------------------------------- + +.. automodule:: hostingpackages.admin + :members: + + +:py:mod:`apps ` +------------------------------------- + +.. automodule:: hostingpackages.apps + :members: + + +:py:mod:`models ` +----------------------------------------- + +.. automodule:: hostingpackages.models + :members: diff --git a/gnuviechadmin/hostingpackages/admin.py b/gnuviechadmin/hostingpackages/admin.py index a399bdb..a5fd3a7 100644 --- a/gnuviechadmin/hostingpackages/admin.py +++ b/gnuviechadmin/hostingpackages/admin.py @@ -20,6 +20,10 @@ from .models import ( class CustomerHostingPackageCreateForm(forms.ModelForm): + """ + This is the form class for creating new customer hosting packages. + + """ class Meta: model = CustomerHostingPackage fields = ['customer', 'template', 'name'] @@ -45,21 +49,41 @@ class CustomerHostingPackageCreateForm(forms.ModelForm): class CustomerDiskSpaceOptionInline(admin.TabularInline): + """ + This class implements the inline editor for customer hosting package disk + space options. + + """ model = CustomerDiskSpaceOption extra = 0 class CustomerMailboxOptionInline(admin.TabularInline): + """ + This class implements the inline editor for customer hosting package + mailbox options. + + """ model = CustomerMailboxOption extra = 0 class CustomerUserDatabaseOptionInline(admin.TabularInline): + """ + This class implements the inline editor for customer hosting package user + database options. + + """ model = CustomerUserDatabaseOption extra = 0 class CustomerHostingPackageAdmin(admin.ModelAdmin): + """ + This class implements the admin interface for + :py:class:`CustomerHostingPackage`. + + """ add_form = CustomerHostingPackageCreateForm add_fieldsets = ( (None, { diff --git a/gnuviechadmin/hostingpackages/apps.py b/gnuviechadmin/hostingpackages/apps.py index bda74ce..2bb6e3e 100644 --- a/gnuviechadmin/hostingpackages/apps.py +++ b/gnuviechadmin/hostingpackages/apps.py @@ -10,7 +10,7 @@ from django.utils.translation import ugettext_lazy as _ class HostingPackagesAppConfig(AppConfig): """ - AppConfig for the :py:mod:`osusers` app. + AppConfig for the :py:mod:`hostingpackages` app. """ name = 'hostingpackages' diff --git a/gnuviechadmin/hostingpackages/locale/de/LC_MESSAGES/django.po b/gnuviechadmin/hostingpackages/locale/de/LC_MESSAGES/django.po index 8037f05..caf6f78 100644 --- a/gnuviechadmin/hostingpackages/locale/de/LC_MESSAGES/django.po +++ b/gnuviechadmin/hostingpackages/locale/de/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gnuviechadmin hostingpackages\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-01-18 13:16+0100\n" +"POT-Creation-Date: 2015-01-18 13:36+0100\n" "PO-Revision-Date: 2015-01-18 13:17+0100\n" "Last-Translator: Jan Dittberner \n" "Language-Team: Jan Dittberner \n" @@ -55,7 +55,7 @@ msgstr "Speicherplatz für das Hostingpaket" msgid "unit of disk space" msgstr "Maßeinheit für den Speicherplatz" -#: models.py:43 models.py:172 +#: models.py:43 models.py:192 msgid "name" msgstr "Name" @@ -122,66 +122,66 @@ msgid_plural "{count} additional mailboxes" msgstr[0] "{count} zusätzliches Postfach" msgstr[1] "{count} zusätzliche Postfächer" -#: models.py:165 +#: models.py:185 msgid "customer" msgstr "Kunde" -#: models.py:167 +#: models.py:187 msgid "hosting package template" msgstr "Hostingpaketvorlage" -#: models.py:169 +#: models.py:189 msgid "The hosting package template that this hosting package is based on" msgstr "Die Hostingpaketvorlage, auf der dieses Hostingpaket aufgebaut ist" -#: models.py:174 +#: models.py:194 msgid "Operating system user" msgstr "Betriebssystemnutzer" -#: models.py:181 +#: models.py:201 msgid "customer hosting package" msgstr "Kundenhostingpaket" -#: models.py:182 +#: models.py:202 msgid "customer hosting packages" msgstr "Kundenhostingpakete" -#: models.py:191 +#: models.py:211 msgid "hosting package" msgstr "Hostingpaket" -#: models.py:194 +#: models.py:214 msgid "customer hosting option" msgstr "kundenspezifische Hostingoption" -#: models.py:195 +#: models.py:215 msgid "customer hosting options" msgstr "kundenspezifische Hostingoptionen" -#: models.py:207 +#: models.py:227 msgid "disk space option template" msgstr "Speicherplatzoptionsvorlage" -#: models.py:209 +#: models.py:229 msgid "The disk space option template that this disk space option is based on" msgstr "" "Die Speicherplatzoptionsvorlage auf der diese Speicherplatzoption aufgebaut " "ist" -#: models.py:223 +#: models.py:243 msgid "user database option template" msgstr "Nutzerdatenbankoptionsvorlage" -#: models.py:225 +#: models.py:245 msgid "The user database option template that this database option is based on" msgstr "" "Die Nutzerdatenbankoptionsvorlage auf der diese Datenbankoption aufgebaut ist" -#: models.py:239 +#: models.py:259 msgid "mailbox option template" msgstr "Postfachoptionsvorlage" -#: models.py:241 +#: models.py:261 msgid "The mailbox option template that this mailbox option is based on" msgstr "Die Postfachoptionsvorlage auf der diese Postfachoption aufgebaut ist" diff --git a/gnuviechadmin/hostingpackages/models.py b/gnuviechadmin/hostingpackages/models.py index ad9f2e5..f84a9c1 100644 --- a/gnuviechadmin/hostingpackages/models.py +++ b/gnuviechadmin/hostingpackages/models.py @@ -144,8 +144,28 @@ class MailboxOption(MailboxOptionBase, HostingOption): class CustomerHostingPackageManager(models.Manager): + """ + This is the default manager implementation for + :py:class:`CustomerHostingPackage`. + + """ def create_from_template(self, customer, template, name, **kwargs): + """ + Use this method to create a new :py:class:`CustomerHostingPackage` from + a :py:class:`HostingPackageTemplate`. + + The method copies data from the template to the new + :py:class:`CustomerHostingPackage` instance. + + :param customer: a Django user representing a customer + :param template: a :py:class:`HostingPackageTemplate` + :param str name: the name of the hosting package there must only be + one hosting package of this name for each customer + :return: customer hosting package + :rtype: :py:class:`CustomerHostingPackage` + + """ package = CustomerHostingPackage( customer=customer, template=template, name=name) for attrname in ('description', 'diskspace', 'diskspace_unit',