Commit graph

335 commits

Author SHA1 Message Date
6cebd80c89 Started port to Django 2.1, Python 3, Docker
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.
2018-11-19 23:28:40 +01:00
e8bdf3fec1 Fix wrong tag in password reset done template 2016-12-31 14:03:57 +01:00
36d082006b Improve TaskResult admin view
Provide a better presentation of TaskResult instances by specifying the
list_display fields and allowing to filter finished and unfinished tasks.
2016-09-25 16:36:31 +02:00
5dc3549896 Improve documentation
This commit adds a lot of documentation including block diagramms for
message flows.
2016-09-24 21:57:28 +02:00
3c5d02776a Update Django and gvacommon dependencies
This commit updates the Django dependency version to 1.9.2 and gvacommon
to 0.3.0 that provides gvacommon.settings_utils.get_env_variable. The
gnuviechadmin.settings.base module now uses this implementation instead
of an own copy and the corresponding test has been removed too.
2016-02-01 22:27:05 +00:00
6c606034b3 Add docstrings from gvaldap settings 2016-01-31 23:22:07 +01:00
3d95a9f61a Switch result backend to redis
The AMQP result backend proved as impractical, this commit switches to
redis instead. The redis server is setup on the webinterface host but
can be configured on another host.
2016-01-31 21:50:49 +01:00
9d843c920a Add docstring to gnuviechadmin.settings.base 2016-01-31 21:50:11 +01:00
cd696ceb1f Fix flake8 finding 2016-01-31 21:50:11 +01:00
eda20937dc Use separate test vhost for celery queues 2016-01-31 21:46:14 +01:00
2018520646 Start changelog for next release
This commit updates the changelog, switches to git code browsing for the
release links and uses correct semantic versioning.
2016-01-29 14:21:43 +00:00
5b48a3f2db Use gvacommon from own repository
This commit removes the included gvacommon copy. Gvacommon has its own
development repository and is now added as a dependency via
requirements/base.txt.
2016-01-29 13:26:18 +00:00
37b18a17af Update German translation
This commit updates the German translation files and adds missing
translations.
2016-01-29 11:07:41 +01:00
e7006ac4a6 Fix encoding name
This commit fixes the encoding specification of
osusers.tests.test_models.
2016-01-29 10:04:59 +00:00
0a0524f1f0 Add tests for userdbs.views.ChangeDatabaseUserPassword
This commit adds tests for the ChangeDatabaseUserPassword view.
2016-01-29 10:03:24 +00:00
1f700fc06a Add tests for userdbs.views.DeleteUserDatabase
This commit adds tests for the DeleteUserDatabase view and improves the
grammar of flash messages of the userdbs.views module.
2016-01-29 09:40:14 +00:00
e6c38b632b Add test for userdbs.views.AddUserDatabase
This commit adds tests for userdbs.views.AddUserDatabase, the view
itself has been modified so that it is only reachable when the hosting
package actually has database options available.
2016-01-28 16:17:50 +01:00
e9fc8b7f89 Push coverage for osusers to 100% 2016-01-28 13:44:29 +00:00
de501cfdde Fix Django deprecation warning
Django 1.9 deprecates passing a context directly to the render function
in template loader. This commit creates a proper template rendering
context before rendering the mails sent from the contact form.
2016-01-09 14:46:04 +00:00
b8893e92d7 Add timestamps to task result model 2016-01-09 14:26:52 +00:00
6a6009e7f2 Fix template error in passwort reset response 2015-12-26 12:29:22 +01:00
085b126416 Update to Django 1.9
- update all dependencies
- fix deprecation warnings and errors for Django 1.9 compatibility
2015-12-19 20:11:23 +01:00
1b30b1a38c Define logging for tests 2015-12-07 00:24:23 +00:00
c9a9fa11b2 Refactor userdbs app to use signals
This commit isolates the celery task invocations of the userdbs app into
signal handlers. All celery interaction is now asynchronously handled in
userdbs.signals.
2015-12-07 00:23:07 +00:00
1649e4592e Add tests for userdbs app
This commit adds a set of unit tests for the userdbs app. Some tests
will fail because a refactoring to signals comes with the next commit.
2015-12-07 00:22:13 +00:00
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