Commit graph

310 commits

Author SHA1 Message Date
e96aac82fc Add tests for taskresults app
This commit adds tests for the taskresults management command
fetch_taskresults and completes the test coverage for
taskresults.models.
2015-12-06 18:47:11 +01:00
4e54b6fcc5 Add osusers.views tests
This commit adds tests for the osusers.views module. An incompatibility
with Django 1.8 in EditSshPublicKeyComment has been fixed.
2015-12-06 17:49:10 +01:00
28ff099df9 Improve osusers.models coverage
This commit adds tests for more corner cases of
SshPublicKeyManager.parse_keytext to raise the test coverage to 100%.
The method now handles invalid keys more thoroughly.
2015-12-06 17:47:27 +01:00
8616b2d6c9 Add tests for osusers.forms
This commit adds test classes for osusers.forms in
osusers.tests.test_forms.
2015-12-06 15:35:23 +01:00
4f39c0d2c4 Add tests for osusers.admin
This commit raises the test coverage for osusers.admin to 100% by adding
tests for UserAdmin, GroupAdmin, SshPublicKeyCreationForm and
SshPublicKeyAdmin. The commit adds a refactoring TODO to
SshPublicKeyAdmin.perform_delete_selected because the asynchronous
background task should be launched from a signal handler.
2015-12-05 22:23:25 +00:00
fb1f31a9bc Fix flake8 warnings
This commit fixes all warnings created by flake8 by removing unused
imports and variable assignments. Some wrongly indented lines are now
indented correctly.
2015-12-05 13:47:41 +00:00
30600ce107 Add tests for managemails.views
This commit adds a test suite for the views defined in
managemails.views. One issue discovered when writing tests is fixed by
checking the request method in CreateMailbox.dispatch.
2015-11-28 19:01:52 +00:00
6533205479 Add TODO comments for mailbox task calls 2015-11-28 19:01:10 +00:00
f2c3f64a87 Use MD5PasswordHasher for tests
This commit changes the password hasher for test runs to the
MD5PasswordHasher to speed up password hashing during test runs.
2015-11-28 19:00:03 +00:00
1cfd4327da Add tests for managemails.models
This commit adds tests for managemails.models to improve the test
coverage of that model. There are some changes to the classes in
managemails.models too:

- add a method create_mailbox to MailboxManager
- properly handle uncommited mailaddresses in MailAddress.set_mailbox
  and MailAddress.set_forward_addresses
2015-11-28 14:07:34 +00:00
03a7dc0320 Add test for managemails.forms
This commit adds tests for managemails.forms. A refactoring TODO is
added to MailAddressFieldMixin and pragma: no cover has been added to
code paths not reachable if no new constants are added to the
MAILBOX_OR_FORWARDS constant array.
2015-11-22 18:41:45 +00:00
78f54d0c92 Add QA tool config to setup.cfg
This commit adds configuration for coverage, pep8 and flake8 to
setup.cfg. The .coveragerc is not needed anymore and is removed.
2015-11-22 18:40:40 +00:00
28fc535f9e Add tests for gvawebcore
This commit adds tests for gvawebcore.forms and gvawebcore.views.
2015-11-22 14:43:02 +00:00
b11055807f Clean PEP8 violations 2015-11-22 14:03:47 +00:00
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
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
de0f3b8ca1 Add translations for domains.models
addresses #17
2015-11-08 12:14:53 +01:00
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
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
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
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
f5759f3194 Add tests for domains app
Add missing tests for domains.forms and domains.models.
2015-10-15 19:50:18 +00:00
2de53757df improve contact_form test coverage 2015-10-13 22:31:20 +02:00
e51d202abd start test implementation for contact_form 2015-10-12 22:07:25 +00:00
c5d9673ac3 remove unnecessary imports 2015-10-12 20:51:03 +02:00
084dd5ba8d add unit tests for dashboard app 2015-10-12 18:43:52 +00:00
660ffa9de9 bump version to new development version 2015-10-12 18:42:14 +00:00
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
8ebb5cad6a bump dependency versions, fix tests and deprecation warnings 2015-10-11 15:30:23 +02:00
4c81502b8e bump version number, add release version to changelog 2015-02-21 20:59:09 +01:00
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
dd38edd498 add appropriate filtering for SSH key list
- fix osusers.views.ListSshPublicKeys
- add changelog entry
2015-02-21 20:30:15 +01:00
9cab636351 bump version number, add release to changelog 2015-02-06 11:20:47 +01:00
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
b5714f2af3 bump version number, add release to changelog 2015-02-01 22:19:18 +01:00
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
1bee80044c enable translations for contact form 2015-02-01 20:58:53 +01:00
e913b1f771 fix tests 2015-02-01 20:12:23 +01:00
e87e4ca268 add icons to top level navigation 2015-02-01 19:39:09 +01:00
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
f9e4e67cf6 add context processing for contact_form views 2015-02-01 19:34:41 +01:00
42f3ed7f06 define DEFAULT_FROM_EMAIL in production settings 2015-02-01 19:34:12 +01:00
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
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
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
5d19120bbf add new german translation strings 2015-02-01 15:09:10 +01:00
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
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
81b9bc163b mark active menu item as active 2015-02-01 14:58:32 +01:00
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
0e32d162f7 fix taskresults.tests 2015-02-01 03:01:29 +01:00
01a0fa2fa4 add german translation for new strings 2015-02-01 02:30:30 +01:00
5ad3ba1631 add docstrings, restrict queryset of osusers.views 2015-02-01 02:11:41 +01:00
5e1f34c9d8 implement caching for get_hosting_package 2015-02-01 02:11:07 +01:00
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
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
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
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
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
0080fe7e78 add administration form and admin class for SshPublicKey 2015-02-01 00:08:04 +01:00
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
d921acd686 use bootstrap alert classes for messages 2015-01-31 13:30:48 +01:00
f0c8336708 add api for set_file_ssh_authorized_keys task 2015-01-29 23:05:16 +01:00
33e78bcb69 adapt comments to gvafile server side 2015-01-29 21:03:55 +01:00
742f0d0e33 update translations, add new strings 2015-01-27 19:08:13 +01:00
5322e00345 add code documentation for websites app 2015-01-27 18:51:04 +01:00
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
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
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
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
5ad32e6894 link from hostingpackage detail view to 'add_website' 2015-01-26 22:53:57 +01:00
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
cff35dd408 define User.is_sftp_user and fix minor template issues 2015-01-26 21:49:22 +01:00
b98b05220f make manage.py executable 2015-01-26 21:45:27 +01:00
7fbeb668da add wildcard parameter to create_web_vhost_config task 2015-01-26 21:36:24 +01:00
ba85ad8ad9 add django generated websites app 2015-01-26 21:00:52 +01:00
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
24b4bab0b0 update to fileservertasks interface 0.4.0 version 2015-01-26 18:10:08 +01:00
7360b33eca Merge commit 'd31c1d0fbf02bde5d4dc2be24762d872da64935f'
* commit 'd31c1d0fbf02bde5d4dc2be24762d872da64935f':
  add new route 'web' for web server configuration
2015-01-26 15:44:04 +01:00
065a97665b add german translation for new strings 2015-01-26 13:52:55 +01:00
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
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
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
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
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
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
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
638a6f6712 move HostingPackageAndCustomerMixin to gvawebcore.views 2015-01-26 10:33:01 +01:00
78728c59e6 add german translation for new strings 2015-01-25 22:22:09 +01:00
682977277e link to mailaddress functionality 2015-01-25 22:13:11 +01:00
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
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
af27400077 add verbose name to MailAddress fields 2015-01-25 19:01:01 +01:00
f9ce3929f7 update to bootstrap 3.3.2 2015-01-25 18:54:07 +01:00
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
fbb0755446 add german translation for new strings 2015-01-25 15:51:29 +01:00
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
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
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
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