Commit graph

296 commits

Author SHA1 Message Date
Jan Dittberner be0531ec30 Add test for gnuviechadmin.celery
This commit adds a refactoring for gnuviechadmin.celery to make the
installed apps detection testable. The test is added in
gnuviechadmin.tests.test_celery. Debug code in gnuviechadmin.urls is no
excluded from coverage reporting.
2015-11-22 14:31:04 +01:00
Jan Dittberner 7bcb0d3100 Add tests for gnuviechadmin.context_processors
This commit adds new tests for the gnuviechadmin.context_processors
module. The module gnuviechadmin.tests has been moved into a separate
directory for a more clear structure.
2015-11-22 13:13:42 +00:00
Jan Dittberner de0f3b8ca1 Add translations for domains.models
addresses #17
2015-11-08 12:14:53 +01:00
Jan Dittberner 337947f50c Update documentation
This commit adds documentation how to setup PowerDNS to use the
gnuviechadmin DNS schema. The queries are provided in a PowerDNS
configuration file.

Addresses #17
2015-11-07 22:17:43 +01:00
Jan Dittberner c058cc7b1d Improve DNS table models
This commit adds Meta information and __str__ methods  to all DNS table
models. The new methods are now covered with new tests. The new
constants DNS_DOMAIN_METADATA_KINDS and DNS_TSIG_KEY_ALGORITHMS are
defined and used in the DNSDomainMetadata and DNSTSIGKey models. A
matching database schema migration is added.

Addresses #17
2015-11-07 16:10:38 +00:00
Jan Dittberner 1df2534cf3 Add DNS models
This commit add model classes closely matching the tables defined in
PowerDNS' schema as described at
https://doc.powerdns.com/md/authoritative/backend-generic-mypgsql/.

The commit includes the model definitions a schema migration including
PostgreSQL specific CHECK constraints and the registration in the Django
admin interface.

addresses #17
2015-11-05 20:54:21 +00:00
Jan Dittberner fbfd3cf41b Add tests for domains.views
This commit adds a test class to test the CreateHostingDomain view in
domains.views.
2015-10-25 17:30:15 +00:00
Jan Dittberner f5759f3194 Add tests for domains app
Add missing tests for domains.forms and domains.models.
2015-10-15 19:50:18 +00:00
Jan Dittberner 2de53757df improve contact_form test coverage 2015-10-13 22:31:20 +02:00
Jan Dittberner e51d202abd start test implementation for contact_form 2015-10-12 22:07:25 +00:00
Jan Dittberner c5d9673ac3 remove unnecessary imports 2015-10-12 20:51:03 +02:00
Jan Dittberner 084dd5ba8d add unit tests for dashboard app 2015-10-12 18:43:52 +00:00
Jan Dittberner 660ffa9de9 bump version to new development version 2015-10-12 18:42:14 +00:00
Jan Dittberner d5bba7a22d asynchronous refactoring
- don't execute celery tasks directly
- introduce optional parameters to fileserver tasks to allow chaining
- handle user/group/key create and delete tasks in new osusers.signals
  class
- adapt unit tests
- change TaskResults model to store the task signatures
- generalize the local settings' logging configuration
2015-10-12 00:23:31 +02:00
Jan Dittberner 8ebb5cad6a bump dependency versions, fix tests and deprecation warnings 2015-10-11 15:30:23 +02:00
Jan Dittberner 4c81502b8e bump version number, add release version to changelog 2015-02-21 20:59:09 +01:00
Jan Dittberner 25b5b82a06 fix broken ssh public key handling
- make sure that AddSshPublicKeyForm does not try to parse the key if it is
  None
- split the key text into a maximum of 3 parts to allow whitespace in comments
- update changelog
2015-02-21 20:57:18 +01:00
Jan Dittberner dd38edd498 add appropriate filtering for SSH key list
- fix osusers.views.ListSshPublicKeys
- add changelog entry
2015-02-21 20:30:15 +01:00
Jan Dittberner 9cab636351 bump version number, add release to changelog 2015-02-06 11:20:47 +01:00
Jan Dittberner 2af30d6148 fix mail forwarding setup bug
- fix wrong variable name in
  managemails.models.MailAddress.set_forward_addresses and typo in
  managemails.forms.EditMailAddressForm
2015-02-06 11:17:03 +01:00
Jan Dittberner b5714f2af3 bump version number, add release to changelog 2015-02-01 22:19:18 +01:00
Jan Dittberner 251e8a54f6 add version number to gnuviechadmin
- add __version__ to gnuviechadmin/__init__.py
- change docs/conf.py to use version number from gnuviechadmin
- add gnuviechadmin.context_processors.version_info to add
  gnuviechadmin_version to template context
- add version and technology links to templates/base.html footer
- add CSS styles for footer formatting
2015-02-01 22:15:40 +01:00
Jan Dittberner 1bee80044c enable translations for contact form 2015-02-01 20:58:53 +01:00
Jan Dittberner e913b1f771 fix tests 2015-02-01 20:12:23 +01:00
Jan Dittberner e87e4ca268 add icons to top level navigation 2015-02-01 19:39:09 +01:00
Jan Dittberner 52b6dd5845 add contact_form link in top navigation
- add contact_form URLs to gnuviechadmin.urls
- set href of contact link to 'contact_form'
2015-02-01 19:37:13 +01:00
Jan Dittberner f9e4e67cf6 add context processing for contact_form views 2015-02-01 19:34:41 +01:00
Jan Dittberner 42f3ed7f06 define DEFAULT_FROM_EMAIL in production settings 2015-02-01 19:34:12 +01:00
Jan Dittberner 385838580b implement contact form
- implement contact_form.forms.ContactForm
- implement contact_form.views.ContactFormView and
  contact_form.views.ContactSuccessView
- add new URL patterns 'contact_form' and 'contact_success' in
  contact_form.urls
- add contact_form templates base.html, contact_form.html, contact_form.txt,
  contact_form_subject.txt and contact_success.html
- add german translation for new strings
- add contact_form to .coveragerc
- add generated code documentation for contact_form app
- add changelog entry
2015-02-01 19:33:53 +01:00
Jan Dittberner 2b0f1f9f89 add imprint as flatpage
- add flatpages app to gnuviechadmin.settings.base.DJANGO_APPS
- add imprint handling to gnuviechadmin.context_processors.navigation, remove
  unused about page handling
- add URL 'imprint' to gnuviechadmin.urls
- replace link 'about' in template base.html with 'imprint'
- add templates for flatpages
- add german translation for imprint and contact navigation links
2015-02-01 16:39:01 +01:00
Jan Dittberner cea780a9b2 fix issues with changed URLs
- sort all_hosting_packages before hosting_packages
- allow _ in user names
- only display hosting link if user is authenticated
2015-02-01 15:14:26 +01:00
Jan Dittberner 5d19120bbf add new german translation strings 2015-02-01 15:09:10 +01:00
Jan Dittberner 2d4282194f add new view CustomerHostingPackageList
- create view hostingpackages.views.CustomerHostingPackageList to display a
  specific customer's hosting packages
- add docstring to view AllCustomerHostingPackageList
- add URL pattern 'hosting_packages' to hostingpackages.urls
- restructure hostingpackages URL patterns to remove useless parts
- add template hostingpackages/customerhostingpackage_list.html
- change links in template base.html to link to 'hosting_packages'
2015-02-01 15:04:04 +01:00
Jan Dittberner 3f07ddb062 configure local logging
- add log formatters 'verbose' and 'simple' to gnuviechadmin.settings.base
- add loggers and handler in gnuviechadmin.settings.local
2015-02-01 14:59:36 +01:00
Jan Dittberner 81b9bc163b mark active menu item as active 2015-02-01 14:58:32 +01:00
Jan Dittberner 210d1e122c add links to webmail, phpmyadmin and phppgadmin
- add new links dropdown to top navigation in template base.html
- add new settings GVA_LINK_WEBMAIL, GVA_LINK_PHPMYADMIN and
  GVA_LINK_PHPPGADMIN to gnuviechadmin.settings.base
- implement gnuviechadmin.context_processors.navigation to add links to
  request context of non-AJAX requests
- add generated documentation for gnuviechadmin.context_processors
- add changelog entry
2015-02-01 13:16:45 +01:00
Jan Dittberner 0e32d162f7 fix taskresults.tests 2015-02-01 03:01:29 +01:00
Jan Dittberner 01a0fa2fa4 add german translation for new strings 2015-02-01 02:30:30 +01:00
Jan Dittberner 5ad3ba1631 add docstrings, restrict queryset of osusers.views 2015-02-01 02:11:41 +01:00
Jan Dittberner 5e1f34c9d8 implement caching for get_hosting_package 2015-02-01 02:11:07 +01:00
Jan Dittberner 832a611602 add list, delete and edit comment of SSH public keys
- add sshkeys to hostingpackage detail view context
- implement new osusers.forms.EditSshPublicKeyCommentForm
- implement new views ListSshPublicKeys, DeleteSshPublicKey and
  EditSshPublicKeyComment
- add new URL patterns 'list_ssh_keys', 'edit_ssh_key_comment' and
  'delete_ssh_key'
- link from hosting package detail view to 'list_ssh_keys' when there are
  SSH keys assigned to the shown hosting package
- add new templates osusers/sshpublickey_list.html,
  osusers/sshpublickey_confirm_delete.html and
  osusers/sshpublickey_edit_comment
- add operating system user output to template
  osusers/sshpublickey_create.html
- add changelog entry
2015-02-01 01:55:09 +01:00
Jan Dittberner 0c7bb79109 add view osusers.views.AddSshPublicKey
- implement new form osusers.forms.AddSshPublicKeyForm
- move message texts from osusers.admin to osusers.forms
- add new view osusers.views.AddSshPublicKey
- add new URL patter 'add_ssh_key' to osusers.urls
- add new template osusers/sshpublickey_create.html
- link from hosting package detail template to 'add_ssh_key'
- add changelog entry for new feature
2015-02-01 00:44:31 +01:00
Jan Dittberner 79b460c4a6 repair osusers.tests.test_admin
- fix test code
- fix error in set_ldap_user_password stub
2015-02-01 00:08:04 +01:00
Jan Dittberner b993053d2a define readonly fields and own delete action for SSH key admin
- implement custom perform_delete_selected action for SshPublicKeyAdmin that
  ensures that the authorized_keys files of all affected users are rebuilt
  after deleting keys
- implement custom get_actions to replace the default delete_selected action
  with the custom perform_delete_selected
- define get_readonly_fields to make sure that the key algorithm and data
  cannot be changed
2015-02-01 00:08:04 +01:00
Jan Dittberner 7dd4c78345 trigger tasks on SshPublicKey save and delete
- implement save and delete methods in osusers.models.SshPublicKey that trigger
  set_file_ssh_authorized_keys
- add new test methods to osusers.tests.test_models.SshPublicKeyTest
2015-02-01 00:08:04 +01:00
Jan Dittberner 0080fe7e78 add administration form and admin class for SshPublicKey 2015-02-01 00:08:04 +01:00
Jan Dittberner 20359681db implement SshPublicKey model, manager and tests
- implement osusers.models.SshPublicKey and osusers.models.SshPublicKeyManager
- fix broken osusers.models.tests.test_models
- add new test classes SshPublicKeyManagerTest and SshPublicKeyTest
- add migration for SshPublicKey model
2015-02-01 00:07:56 +01:00
Jan Dittberner d921acd686 use bootstrap alert classes for messages 2015-01-31 13:30:48 +01:00
Jan Dittberner f0c8336708 add api for set_file_ssh_authorized_keys task 2015-01-29 23:05:16 +01:00
Jan Dittberner 33e78bcb69 adapt comments to gvafile server side 2015-01-29 21:03:55 +01:00
Jan Dittberner 742f0d0e33 update translations, add new strings 2015-01-27 19:08:13 +01:00
Jan Dittberner 5322e00345 add code documentation for websites app 2015-01-27 18:51:04 +01:00
Jan Dittberner 1f485e6b29 implement websites.models.Website.delete
- implement delete method and let it call these tasks:
  - disable_web_vhost
  - delete_web_vhost_config
  - delete_file_website_hierarchy
  - delete_web_php_fpm_pool_config if this was the last website of the
    user
2015-01-27 18:42:07 +01:00
Jan Dittberner be1e7bd27f implement website.models.Website.save
- implement save method and let it call these tasks:
  - create_web_php_fpm_pool_config if the user has no website yet
  - create_file_website_hierarchy
  - create_web_vhost_config
  - enable_web_vhost
2015-01-27 18:40:22 +01:00
Jan Dittberner 7c9509c159 implement domain name validation
- implement domains.forms.relative_domain_validator
- use the validator for domain field validation in
  domains.forms.CreateHostingDomainForm
- use the validator for subdomain field validation in
  websites.forms.AddWebsiteForm
2015-01-27 16:41:44 +01:00
Jan Dittberner 7da5cfe406 implement website deletion
- implement websites.views.DeleteWebsite
- add URL pattern 'delete_website' to websites.urls
- add template website_confirm_delete.html
- add link from hostingpackage page to 'delete_website'
- add changelog entry
2015-01-27 16:26:10 +01:00
Jan Dittberner 5ad32e6894 link from hostingpackage detail view to 'add_website' 2015-01-26 22:53:57 +01:00
Jan Dittberner 711a96212c implement adding websites
- implement websites.models.Website
- add migration
- implement websites.views.AddWebsite
- implement websites.forms.AddWebsiteForm
- define URL pattern 'add_website' in websites.urls
- register Website model in websites.admin
- add templates websites/base.html and websites/website_create.html
- add german translation for new strings
- add website URLs to gnuviechadmin.urls
- add websites to INSTALLED_APPS
- add changelog entry
2015-01-26 22:49:16 +01:00
Jan Dittberner cff35dd408 define User.is_sftp_user and fix minor template issues 2015-01-26 21:49:22 +01:00
Jan Dittberner b98b05220f make manage.py executable 2015-01-26 21:45:27 +01:00
Jan Dittberner 7fbeb668da add wildcard parameter to create_web_vhost_config task 2015-01-26 21:36:24 +01:00
Jan Dittberner ba85ad8ad9 add django generated websites app 2015-01-26 21:00:52 +01:00
Jan Dittberner 57d4b128f5 add webtasks interface
- add webtasks interface code
- add webtasks to generated code documentation
- add webtasks and fileservertasks to INSTALLED_APPS
2015-01-26 20:58:43 +01:00
Jan Dittberner 24b4bab0b0 update to fileservertasks interface 0.4.0 version 2015-01-26 18:10:08 +01:00
Jan Dittberner 7360b33eca Merge commit 'd31c1d0fbf02bde5d4dc2be24762d872da64935f'
* commit 'd31c1d0fbf02bde5d4dc2be24762d872da64935f':
  add new route 'web' for web server configuration
2015-01-26 15:44:04 +01:00
Jan Dittberner 065a97665b add german translation for new strings 2015-01-26 13:52:55 +01:00
Jan Dittberner 64e3f97330 implement user database deletion
- modify userdbs.models.UserDatabase.delete to perform deletion of database
  user if it has no other databases assigned
- implement userdbs.views.DeleteUserDatabase
- add URL pattern 'delete_userdatabase' to userdbs.urls
- add template userdbs/userdatabase_confirm_delete.html
- add link to 'delete_userdatabase' on hosting package detail page
- add changelog entry
2015-01-26 13:42:09 +01:00
Jan Dittberner d5eccafea7 improve table layout on hosting package detail page
- add CSS classes for table column width
- use same CSS class for same type of column in domain, mailbox and database
  tables
2015-01-26 13:38:26 +01:00
Jan Dittberner fd6449dff1 implement database user password change
- implement userdbs.forms.ChangeDatabaseUserPasswordForm
- implement userdbs.views.ChangeDatabaseUserPassword
- add URL pattern 'change_dbuser_password' to userdbs.urls
- add template userdbs/databaseuser_setpassword.html
- link from hostingpackage detail template to 'change_dbuser_password'
- add changelog entry
2015-01-26 12:39:42 +01:00
Jan Dittberner 486c07d27d link from hostingpackages details to add_userdatabase
- add database URLs to gnuviechadmin.urls
- add link in template hostingpackages/customerhostingpackage_detail.html
- add changelog entry for new feature
2015-01-26 12:07:56 +01:00
Jan Dittberner 0e1a84826d implement setup of new user databases
- implement userdbs.forms.AddUserDatabaseForm
- implement userdbs.views.AddUserDatabase
- add new URL pattern 'add_userdatabase' in userdbs.urls
- add templates userdbs/base.html and userdbs/userdatabase_create.html
- add generated code documentation for new modules
2015-01-26 12:06:03 +01:00
Jan Dittberner 2447f558e4 add combined method for creating databases with users
- implement userdbs.models.UserDatabaseManager.create_userdatabase_with_user to
  setup a new database with a new database user in one step
2015-01-26 12:05:07 +01:00
Jan Dittberner f3168ffdb7 performance optimizations for hosting package detail view
- prefetch database objects in CustomerHostingPackageDetails.get_context_data
- use prefetched data in template hostingpackage/customerhostingpackage_detail.html
- mention optimization in changelog
2015-01-26 12:04:43 +01:00
Jan Dittberner 638a6f6712 move HostingPackageAndCustomerMixin to gvawebcore.views 2015-01-26 10:33:01 +01:00
Jan Dittberner 78728c59e6 add german translation for new strings 2015-01-25 22:22:09 +01:00
Jan Dittberner 682977277e link to mailaddress functionality 2015-01-25 22:13:11 +01:00
Jan Dittberner 5429055f0d implement mail address target editing
- extract common code into managemails.forms.MailAddressFieldMixin
- move code from forms into managemails.models.MailAddress
- implement managemails.models.MailboxManager.unused and unused_or_own
- implement managemails.forms.EditMailAddressForm
- add managemails.views.EditMailAddress
- add URL pattern 'edit_mailaddress' to managemails.urls
- add template managemails/mailaddress_edit.html
- add changelog entry
2015-01-25 22:12:03 +01:00
Jan Dittberner bebcad8c86 implement mail address deletion
- implement managemails.views.DeleteMailAddress
- add get_context_data to AddMailAddress to add customer to template context
- add URL pattern 'delete_mailaddress' to managemails.urls
- add template hostingpackages/customerhostingpackage_detail.html
- add entry to changelog
2015-01-25 19:03:58 +01:00
Jan Dittberner af27400077 add verbose name to MailAddress fields 2015-01-25 19:01:01 +01:00
Jan Dittberner f9ce3929f7 update to bootstrap 3.3.2 2015-01-25 18:54:07 +01:00
Jan Dittberner 1d69bb22dc implement managemails.Views.AddMailAddress
- implement managemails.forms.multiple_email_validator
- implement managemails.forms.AddMailAddressForm
- implement managemails.views.AddMailAddress
- add URL pattern 'add_mailaddress' to managemails.urls
- add template managemails/mailaddress_create.html
- add changelog entry
2015-01-25 18:20:51 +01:00
Jan Dittberner fbb0755446 add german translation for new strings 2015-01-25 15:51:29 +01:00
Jan Dittberner 0fc823a305 implement adding options to hosting packages
- 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
2015-01-25 15:15:39 +01:00
Jan Dittberner 9815bd1f5b implement hosting package option choice view
- implement new hostingpackages.views.HostingOptionChoices
- add URL pattern 'hosting_option_choices' to hostingpackages.urls
- add template hostingpackages/customerhostingpackage_option_choices.html
- link from hostingpackages/customerhostingpackage_detail.html to
  'hosting_package_choices'
2015-01-25 14:04:32 +01:00
Jan Dittberner 2e4efe7839 implement password change for mailboxes
- implement managemails.forms.ChangeMailboxPasswordForm
- extract code for determining hosting package and customer from URL into
  HostingPackageAndCustomerMixin
- implement managemails.views.ChangeMailboxPassword
- add new URL pattern 'change_mailbox_password' to managemails.urls
- add template managemails/mailbox_setpassword.html
- link from template hostingpackages/customerhostingpackage_detail.html to
  change_mailbox_password
- add german translation for new strings
- document new feature in changelog
2015-01-25 12:49:31 +01:00
Jan Dittberner d1119331d8 enable mailbox creation
- add managemails.urls to gnuviechadmin.urls
- add link to create_mailbox to customerhostingpackage_detail.html template
- document feature in changelog
2015-01-25 12:16:18 +01:00
Jan Dittberner 449af174ec implement create_mailbox functionality
- implement managemails.forms.CreateMailboxForm
- implement managemails.views.CreateMailbox
- add url pattern 'create_mailbox' to managemails.urls
- add templates managemails/base.html and managemails/mailbox_create.html
- add german translation
- add generated code documentation
2015-01-25 12:10:17 +01:00
Jan Dittberner 2b989799ab refactor osusers password forms
- use PasswordModelFormMixin from gvawebcore instead of own implementation in
  ChangeOsUserPasswordForm
- change import for PASSWORD_MISMATCH_ERROR
2015-01-25 12:02:31 +01:00
Jan Dittberner 9883db6fa2 implement new module gvawebcore to provide common code
- add gvawebcore.forms.PasswordModelFormMixin
- add generated documentation
- add german translation
2015-01-25 12:00:30 +01:00
Jan Dittberner 1ab832b94a update german translation 2015-01-25 00:58:31 +01:00
Jan Dittberner 1690cace4d implement hosting domain creation
- implement domains.views.CreateHostingDomain
- define new URL create_hosting_domain in domains.urls
- add domains app URLs to gnuviechadmin.urls
- add templates domains/base.html and domains/hostingdomain_create.html
- link from hostingpackage detail page to domain creation view
2015-01-25 00:40:43 +01:00
Jan Dittberner 8615394c2f add domain creation form and model code
- implement domains.forms.CreateHostingDomainForm
- implement domains.models.HostingDomainManager.create_for_hosting_package that
  takes care of creating the necessary database objects for hosting domains
  assigned to a hosting package
2015-01-25 00:38:42 +01:00
Jan Dittberner bf91664f6e add link hosting package list templates
- add link to hosting package list for staff users in top navigation
- add new template hostingpackages/customerhostingpackage_admin_list.html
2015-01-24 23:37:20 +01:00
Jan Dittberner 4bffa5ec62 add new views to hostingpackages app
- rename CreateHostingPackage to CreateCustomerHostingPackage
- add new CreateHostingPackage that allows to select a customer
- rename CreateHostingPackageForm to CreateCustomerHostingPackageForm
- add new CreateHostingPackageForm that has a customer field
- add new URL pattern create_hosting_package, rename existing pattern to
  create_customer_hosting_package
- modify template dashboard/user_dashboard to use the correct URL name
2015-01-24 23:34:15 +01:00
Jan Dittberner 7991d2bf4f setup template structure for hosting package
- add panels for hosting package options, domains, mailboxes and databases
- list existing objects assigned to the hosting package
2015-01-24 22:33:09 +01:00
Jan Dittberner 0def7e3a7b add more properties to CustomerHostingPackage
- 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
2015-01-24 22:29:57 +01:00
Jan Dittberner 2c170ebcc1 update to font-awesome 4.3.0 2015-01-24 22:29:02 +01:00
Jan Dittberner 03e5c74d7a add model features to hostingpackages
- add properties mailboxes, used_mailbox_count, mailbox_count and
  may_add_mailbox to CustomerHostingPackage class
- use new properties in template dashboard/user_dashboard.html
2015-01-24 22:26:27 +01:00
Jan Dittberner 8a84c9660a add MailDomain.get_mailaddresses and mailaddresses property 2015-01-24 21:01:37 +01:00
Jan Dittberner e04132bd24 improve managemails app
- add managemails.apps to give a more meaningful title in the admin site
- add verbose names to MailAddressMailbox fields
- implement managemails.models.Mailbox.get_mailaddresses and a corresponding
  property mailaddresses
2015-01-24 20:58:20 +01:00