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.
- fix unique constraints on CustomerDiskSpaceOption and
CustomerUserDatabaseOption to allow multiple options from the same template
for hosting packages
- fix disk space calculation in CustomerHostingPackage
- implement hostingpackages forms AddDiskspaceOptionForm, AddMailboxOptionForm,
AddUserDatabaseOptionForm
- implement hostingpackages.views.AddHostingOption
- add new URL pattern add_hosting_option to hostingpackages.urls
- add template hostingpackages/add_hosting_option.html
- link items on hostingpackages/customerhostingpackage_option_choices.html to
add_hosting_option
- add get_hostingoptions method and property hostingoptions
- add get_package_space method to determine disk space provided by the
hosting package itself
- add get_databases_flat and property databases to get a list of databases
assigned to the hosting package
- add may_add_database to determine whether additional databases are allowed
by the hosting package's options
- add properties mailboxes, used_mailbox_count, mailbox_count and
may_add_mailbox to CustomerHostingPackage class
- use new properties in template dashboard/user_dashboard.html
- add new domains.apps.AppConfig to allow translatable app description for
domains app
- link domains to a customer
- extract common functionality from domains.models.MailDomain into abstract
domains.models.DomainBase
- add separate domains.models.HostingDomain to allow for generic external
domains
- add new hostingpackages.models.CustomerHostingPackageDomain to assign hosting
domains to hosting packages
- document new feature in changelog
- add autogenerated documentation for osusers.urls and osusers.views
- add osuser URLs to gnuviechadmin.urls
- implement get_absolute_url in hostingpackages.models.CustomerHostingPackage
- use set_ldap_user_password instead of create_ldap_user for existing OS users
in osusers.models.User.set_password
- add URL pattern set_osuser_password in osusers.urls
- implement osusers.views.SetOsUserPassword to set the password of an existing
operating system user
- link to hosting package detail view on user dashboard
- add template hostingpackages/customerhostingpackage_detail.html
- add template osusers/user_setpassword.html